一、函数分析相关指令
1、数学函数:
(1)基本矩阵与矩阵运算
(2)特殊矩阵
(3)基本数学函数
(4)特殊数学函数
(5)坐标系统转换
(6)矩阵函数与线性代数
(7)资料分析与傅里叶变换
(8)多项式函数
(9)非线性函数与数值方法
(10)稀有函数
2、绘图函数
3、程序与资料函数:
(1)运算子与特殊符号
(2)逻辑函数
(3)文字结构与出错
(4)字符串函数
(5)位元函数
(6)结构函数
(7)MATLAB物件函数
(8)阵列元素函数
(9)多维阵列函数
4、圆形人机界面函数
5、外界界面函数:
(1)MATLAB对Java之人机界面
(2)串列输入输出port
6、发展工具函数:
(1)一般性指令
(2)声音处理函数
(3)档案输入输出函数
二、基本数学函数
这些函数可以在命令行使用也可以在M文件中存储实现
abs(x) 对矩阵x求绝对值 log(x) lnx
sign(x) 取出矩阵x的数值 log10(x) log10(x)
sqrt(x) 对矩阵x求平方根 log2(x) log2(x)
exp(x) e.^x
>> x=[13,-5,-12]
x =
13 -5 -12
>> a=abs(x)
a =
13 5 12
>> b=sign(x)
b =
1 -1 -1
>> c=sqrt(x)
c =
3.6056 + 0.0000i 0.0000 + 2.2361i 0.0000 + 3.4641i
>> clear;
>> x=10;
>> y=exp(50/x)
y =
148.4132
>> clear;
>> x=1000;
>> y=log(x)
y =
6.9078
>> clear
>> x=100;
>> y=log10(x)
y =
2
>> clear;
>> x=1024;
>> y=log2(x)
y =
10
>> clear;
>> x=0:0.01:100;
>> y=exp(x);
>> plot(y);
要注意一句话结束后是否加上“;”加上不会输出中间值,不加会输出中间值,x=0:0.01:100;表示采样的间隔。
>> clear;
>> x=1:1:100;
>> y=log(x)
y =
Columns 1 through 13
0 0.6931 1.0986 1.3863 1.6094 1.7918 1.9459 2.0794 2.1972 2.3026 2.3979 2.4849 2.5649
Columns 14 through 26
2.6391 2.7081 2.7726 2.8332 2.8904 2.9444 2.9957 3.0445 3.0910 3.1355 3.1781 3.2189 3.2581
Columns 27 through 39
3.2958 3.3322 3.3673 3.4012 3.4340 3.4657 3.4965 3.5264 3.5553 3.5835 3.6109 3.6376 3.6636
Columns 40 through 52
3.6889 3.7136 3.7377 3.7612 3.7842 3.8067 3.8286 3.8501 3.8712 3.8918 3.9120 3.9318 3.9512
Columns 53 through 65
3.9703 3.9890 4.0073 4.0254 4.0431 4.0604 4.0775 4.0943 4.1109 4.1271 4.1431 4.1589 4.1744
Columns 66 through 78
4.1897 4.2047 4.2195 4.2341 4.2485 4.2627 4.2767 4.2905 4.3041 4.3175 4.3307 4.3438 4.3567
Columns 79 through 91
4.3694 4.3820 4.3944 4.4067 4.4188 4.4308 4.4427 4.4543 4.4659 4.4773 4.4886 4.4998 4.5109
Columns 92 through 100
4.5218 4.5326 4.5433 4.5539 4.5643 4.5747 4.5850 4.5951 4.6052
>> plot(y);
其中有两种方法可以使几个图形叠加到一个图标上面。
一:
>> clear;
>> fplot('[log(2*x),log10(2*x),log2(2*x)]',[1,100]);
二:
>> clear;
>> x=1:1:100;
>> y1=log(2*x);
>> plot(y1);
>> hold on;
>> y2=log10(2*x);
>> plot(y2);
>> hold on;
>> y3=log2(2*x);
>> plot(y3);
三、三角函数与反三角函数
三角函数与数学表达式相同,反三角函数在三角函数前面加上a。
>> clear;
>> t=0:0.01:1;
>> y=2*sin(2*pi*t);
>> plot(y);
求sin(x)在x为0°到180°每隔15°采样的值:
>> clear;
>> x=0:15:180;
>> y=sin(x*pi/180)
y =
0 0.2588 0.5000 0.7071 0.8660 0.9659 1.0000 0.9659 0.8660 0.7071 0.5000 0.2588 0.0000
用asin函数逆向运算:
>> clear;
>> x=0:15:180;
>> y=sin(x*pi/180)
y =
0 0.2588 0.5000 0.7071 0.8660 0.9659 1.0000 0.9659 0.8660 0.7071 0.5000 0.2588 0.0000
>> plot(y);
>> clear;
>> y=[0,0.2588,0.5000,0.7071,0.8660,0.9659,1.0000,0.9659,0.8660,0.7071,0.5000,0.2588,0.0000];
>> x=asin(y)*180/pi;
>> x
x =
0 14.9989 30.0000 44.9995 59.9971 74.9943 90.0000 74.9943 59.9971 44.9995 30.0000 14.9989 0
用三角函数验证三角函数运算公式:
>> clear;
>> x=pi/3;
>> y=pi/6;
>> a=cos(x+y);
>> b=cos(x).*cos(y)-sin(x).*sin(y);
>> if ceil(10000.*a)==ceil(10000.*b);
fprintf('a=b,等式成立‘)
fprintf('a=b,等式成立‘)
|
错误: 字符串未正常终止。
>> fprintf('a=b,等式成立')
a=b,等式成立>> else
else
|
错误: 非法使用保留关键字 "else"。
>> clear;
>> x=pi/3;
>> y=pi/6;
>> a=cos(x+y);
>> b=cos(x).*cos(y)-sin(x).*sin(y);
>> if ceil(10000.*a)==ceil(10000.*b);
fprintf('a=b,等式成立');
else
fprintf('a<>b,等式不成立');
end
a=b,等式成立>>
设计一个递增的余弦函数:
>> clear;
>> x=0:0.01:4*pi;
>> y=cos(x).*exp(x/10);
>> plot(y);
要注意y=cos(x).*exp(x/10);一定要注意是.*点乘,因为矩阵与矩阵相乘必须用点乘,表示矩阵中对应的项进行相乘。如果是诗书与矩阵相乘则不用加点。
将正弦函数与x轴所围区域填涂:
>> clear;
>> x=0:0.001:4*pi;
>> y=sin(x).*exp(x/10);
>> fill(x,y,'b');
针状图为:
>> clear;
>> x=0:0.1:2*pi;
>>
>> y=cos(x).*log(x/10);
>>
>> stem(x,y)
阶梯图:
>> clear;
>> x=0:0.2:4*pi;
>> y=cos(x).*exp(x/10);
>> stairs(x,y)
误差值特征曲线图:
>> clear;
>> x=0:0.2:4*pi;
>> y=cos(x).*exp(x/10);
>> errorbar(x,y,y)
矢量图:
>> clear;
>> x=0:0.2:4*pi;
>> y=cos(x).*log(x/10);
>> feather(x,y)