MATLAB总结(1)
MATLAB常见的通用操作命令
指 令 | 含义 | edit | |
---|---|---|---|
ans | 最新计算结果的默认变量。 | edit | 打开M文件编辑器。 |
cd | 设置当前工作目录。 | exit | 关闭/退出 MATLAB。 |
clf | 清除图形窗。 | help | 在指令窗中显示帮助信息 |
clc | 清除指令窗中显示内容。 | more | 使其后的显示内容分页进行。 |
clear | 清除 MATLAB 工作空间中保存的变量。 | quit | 关闭/退出 MATLAB。 |
dir | 列出指定目录下的文件和子目录清单。 | return | 返回到上层调用程序;结束键盘模式。 |
doc | 在 MATLAB 浏览器中,显示帮助信息。 | type | 显示指定 M文件的内容。 |
diary | 把指令窗输入记录为文件。 | which | 指出其后文件所在的目录。 |
MATLAB表达式的基本运算
数学表达式 | 矩阵运算符 | 数组运算符 | |
---|---|---|---|
加 | a + b | a + b | a + b |
减 | a - b | a - b | a - b |
乘 | a × b | a * b | a .* b |
除 | a ÷ {\div} ÷ b | a / b 或 b\a | a ./ b 或 b.\a |
幂 | a b a^b ab | a^b | a.^b |
圆括号 | () | () | () |
简单计算
计算
sin( x 。 x^。 x。)
sin(45*pi/180)
2 e x + 0.5 + 1 \sqrt{2e^{x+0.5}+1} 2ex+0.5+1
sqrt(2*exp(x+0.5)+1)
计算半径为5.2m的圆的周长和面积
>>radius = 5.2; %圆的半径
>>area = pi * 5.2^2,circle_len = 2 * pi * 5.2
求方程
2 x 5 x^5 x5-3 x 3 x^3 x3+71 x 2 x^2 x2-9x+13=0
解答
p = [2,0,-3,71,-9,13];
x = roots(p);
从右到左从零次幂一直到高次。
计算
− 8 3 \sqrt[3]{-8} 3−8
有两种方法
(1)
a = -8;
r_a = a^(1/3)
(2)
p = [1,0,0,-a];
R = roots(p)
计算多次方程
{ 2 x + 3 y − z = 2 8 x + 2 y + 3 z = 4 45 x + 3 y + 9 z = 23 \left\{\begin{matrix} & 2x +3y - z = 2 \\ & 8x+2y+3z=4\\ & 45x+3y+9z=23 \end{matrix}\right. ⎩⎨⎧2x+3y−z=28x+2y+3z=445x+3y+9z=23
方法一:
a = [2,3,-1;8,2,3;45,3,9];
b = [2;4;23];
z = inv(a)*b
方法二:(符号计算)
syms x y z %建立符号变量
[x,y,z] = solve(2*x+3*y-z-2,8*x+2*y+3*z-4,45*x+3*y+9*z-23)
注意这里的等号在最后是符号“-”
续行输入
在matlab中可能会有需要写指令行多行的情况,如下:
s = 1 + 2 + 3 + 4
等价于
s = 1 + 2...
+ 3 + 4
其中三个点表示这一行续行到下一行
求解
∫
0
1
x
l
n
(
1
+
x
)
d
x
\int_{0}^{1} xln(1+x)dx
∫01xln(1+x)dx
注意这里用的是“。*”因为在微积分的思想中,x可以被当作一个数组。
方法一:
quad('x.*log(1+x)',0,1)
方法二:
syms x
int (x*log(1+x),0,1)
在matlab中log表示ln
Matlab中的log函数在默认情况下是以e为底
比如
l
n
(
1
+
x
)
ln(1+x)
ln(1+x)
用matlab表示为
log(1+x)
l
o
g
2
(
1
+
x
)
log_2(1+x)
log2(1+x)
用matlab表示为
log2(1+x)
l
g
(
1
+
x
)
lg(1+x)
lg(1+x)
用matlab表示为
log10(1+x)
其中不定积分用quad(‘需要积分的式子’,积分上限,积分下限)表示
多项式拟合
假设这里有一组数据
x = [1,2,3,4,5,6,7,8,9,10]
y = [1.2,3,4,4,5,4.7,5,5.2,6,7.2]
这些数据表示在一个二维坐标系中的十个坐标点
===>==一次多项式拟合
就是用一次多项式函数去拟合
其一次拟合的图像为一次函数,输出的是y=k*x+b的形式
一次多项式拟合表示为:
p1 = polyfit(x,y,1)
===>==同理,三次多项式拟合表示为
p3 = polyfit(x,y,3)
其中
polyfit()函数polyfit函数是matlab中用于进行曲线拟合的一个函数。其数学基础是最小二乘法)曲线拟合原理。曲线拟合:已知离散点上的数据集,即已知在点集上的函数值,构造一个解析函数(其图形为一曲线)使在原离散点上尽可能接近给定的值。
===>==polt原始数据,一次拟合曲线和三次拟合曲线
x2 = 1:0.1 :10;
y1 = polyval(p1,x2)
y3 = polyval(p3,x2)
plot(x,y,'*',x2,y1,':',x2,y3)
x2 = 1:0.1:10;
表示在1到10之间以间隔为0.1进行描点。
polyfit的输出是一个多项式系数的行向量。为了计算在xi数据点的多项式值,调用MATLAB的函数polyval
polyval作用是用多项式系数和x向量求y向量,使用方法是返回n次多项式p在x处的值。
举个例子
对于多项式
p
(
x
)
=
1
+
2
∗
x
+
3
∗
x
2
p(x) = 1 + 2 * x +3*x^2
p(x)=1+2∗x+3∗x2
计算在x = 5,7,9的值。
>>x = [5,7,9]
>>p = [3,2,1]
>>polyval(p,x)
%
结果为
ans =
86 162 262
其中plot函数是matlab中二维线画图函数。
plot(x,y,'x',x2,y1,':',x2,y3)
其中的’*‘和’:'表示的是对应曲线所用的线条,没有表明自动默认为实线。