Matlab基本命令练习
2016-04-24 00:22
459 查看
1.创建三维数组:
结果:
A6(:,:,1) =
A6(:,:,2) =
2.利用reshape定义三维数组:
结果:
ans(:,:,1) =
ans(:,:,2) =
ans(:,:,3) =
3.利用cell函数定义元胞数组:
c2 =
c2{2,3}=[1 2 3 4 5]
c2 =
4.数组转换函数
A1=rand(60,50);
B1=mat2cell(A1,[10 20 30],[25,25]) %将矩阵分块,转为元胞数组
B1 =
C1=cell2mat(B1);%将元胞数组转为矩阵
isequal(A1,C1)
ans =
除此之外,还有几个常用的命令:
num2cell,将数值型数组转为元胞数组
cell2struct,将元胞型数组转为结构数组
struct2cell,将结构数组转为元胞数组
num2str,将数值型数组转为字符型数组
str2num,将字符型数组转为数值型数组
5.矩阵的点乘方不要求矩阵为方阵,有以下两种情况:
(1)A为矩阵,x为标量,A.^x表示对矩阵中的每一个元素求x次方;
(2)A和x为同型矩阵,A.^x表示对矩阵A中的每一个元素求x中对应元素次方。
6.(1)det()函数计算矩阵的行列式,inv()计算逆矩阵,pinv()可计算广义伪逆矩阵。
(2)eig()计算方阵的特征向量,trace()计算矩阵的迹,rank()计算矩阵的秩。
7.建立5×5矩阵A,A的第一行乘以1,第二行乘以2,…,第五行乘以5.
A=[12,13,14,15,13;44,54,56,23,54;98,54,12,67,45;44,65,12,76,23;54,23,76,32,90];
D=diag(1:5);
D*A
8.求矩阵上三角阵的函数是triu(A),triu(A,k)功能是提取矩阵第k条对角线以上的元素。同理,下三角矩阵的函数为tril()。将矩阵左右翻转的函数是fliplr(),上下反转为flipud()。
9.MATLAB绘制图形。
画一个复杂的函数图像:
效果图:
10.产生一列正弦波信号,然后调用smooth函数对加入的噪声进行滤波(平滑处理):
效果图:
11.用不同方法求解f(x)的数值导数,并在坐标系中画出f’(x)的图像。
结果图:
>> A4=[1,2;3,4] >>A5=[5,6;7,8]; >> A6=cat(3,A4,A5)
结果:
A6(:,:,1) =
1 2 3 4
A6(:,:,2) =
5 6 7 8
2.利用reshape定义三维数组:
reshape(1:12,[2,2,3])
结果:
ans(:,:,1) =
1 3 2 4
ans(:,:,2) =
5 7 6 8
ans(:,:,3) =
9 11 10 12
3.利用cell函数定义元胞数组:
>> c2=cell(2,4)
c2 =
[] [] [] [] [] [] [] []
c2{2,3}=[1 2 3 4 5]
c2 =
[] [] [] [] [] [] [1x5 double] []
4.数组转换函数
A1=rand(60,50);
B1=mat2cell(A1,[10 20 30],[25,25]) %将矩阵分块,转为元胞数组
B1 =
[10x25 double] [10x25 double] [20x25 double] [20x25 double] [30x25 double] [30x25 double]
C1=cell2mat(B1);%将元胞数组转为矩阵
isequal(A1,C1)
ans =
1
除此之外,还有几个常用的命令:
num2cell,将数值型数组转为元胞数组
cell2struct,将元胞型数组转为结构数组
struct2cell,将结构数组转为元胞数组
num2str,将数值型数组转为字符型数组
str2num,将字符型数组转为数值型数组
5.矩阵的点乘方不要求矩阵为方阵,有以下两种情况:
(1)A为矩阵,x为标量,A.^x表示对矩阵中的每一个元素求x次方;
(2)A和x为同型矩阵,A.^x表示对矩阵A中的每一个元素求x中对应元素次方。
6.(1)det()函数计算矩阵的行列式,inv()计算逆矩阵,pinv()可计算广义伪逆矩阵。
(2)eig()计算方阵的特征向量,trace()计算矩阵的迹,rank()计算矩阵的秩。
7.建立5×5矩阵A,A的第一行乘以1,第二行乘以2,…,第五行乘以5.
A=[12,13,14,15,13;44,54,56,23,54;98,54,12,67,45;44,65,12,76,23;54,23,76,32,90];
D=diag(1:5);
D*A
8.求矩阵上三角阵的函数是triu(A),triu(A,k)功能是提取矩阵第k条对角线以上的元素。同理,下三角矩阵的函数为tril()。将矩阵左右翻转的函数是fliplr(),上下反转为flipud()。
9.MATLAB绘制图形。
>> x=logspace(-1,2); >> loglog(x,exp(x),'-s') >> grid on >> xlabel('X'); >> ylabel('Y');
画一个复杂的函数图像:
>> fun=@(a,x)[a(1)+a(2)/2*(x-0.17).^2+a(3)/4*(x-0.17).^4]; >> x=0:00.01:1; >> y=fun(a,x); >> xlabel('X'); >> ylabel('Y=f(X)'); >> text('Interpreter','latex',... 'String',['$$-19.6749+\frac{22.2118}{2}(x-0.17)^2'... '+\frac{5.0905}{4}(x-0.17)^4$$'],'Position',[0.05,-12],... 'FontSize',12)
效果图:
10.产生一列正弦波信号,然后调用smooth函数对加入的噪声进行滤波(平滑处理):
>> t=linspace(0,2*pi,500)'; >> y=100*sin(t); >> noise=normrnd(1,15,500,1); >> y=y+noise; >> figure; >> plot(t,y); >> xlabel('t'); >> ylabel('y=sin(t)+噪声'); >> yy1=smooth(y,30); >> figure; >> plot(t,y,'k:'); >> hold on; >> plot(t,yy1,'k','linewidth',3); >> xlabel('t'); >> ylabel('moving'); >> legend('加噪声波形','平滑后波形');
效果图:
11.用不同方法求解f(x)的数值导数,并在坐标系中画出f’(x)的图像。
>> f=inline('sqrt(x.^3+2*x.^2-x+12)+(x+5).^(1/6)+5*x+2'); >> g=inline('(3*x.^2+4*x-1)./sqrt(x.^3+2*x.^2-x+12)/2+1/6./(x+5).^(5/6)+5'); >> x=-3:0.01:3; >> p=polyfit(x,f(x),5); >> dp=polyder(p); >> dpx=polyval(dp,x); >> dx=diff(f([x,3.01]))/0.01; >> gx=g(x); >> plot(x,dpx,x,dx,'.',x,gx,'-');
结果图:
相关文章推荐
- MATLAB聚类分析(Cluster Analysis)
- matlab global 不能传向量/矩阵
- Matlab_Notebook
- Creo Matlab和MathLink 基于Java的通讯(持续更新)
- matlab保存图片的四种方法&&遇到的一些问题
- 将caffe训练时loss的变化曲线用matlab绘制出来
- ubuntu下caffe配置matlab接口
- matlab isnan
- matlab isnan
- MATLAB入门教程
- matlab实战中一些重要的函数总结
- Matlab实现均匀量化的简单示例
- 用MATLAB设计一个超简单的变声GUI界面
- 写论文第一天:熟悉MATLAB操作
- 物体检测SURF算法matlab实现
- MATLAB函数运算
- matlab 中 x 轴的各种设置
- matlab基本操作和语法
- 刚解决了一个matlab不报错也无法运行m文件的问题
- MATLAB编程常用基础语句积累,方便自己编程!