MATLAB中的点运算总结(个人总结很全面)_matlab精华个人总结
MATLAB中的点运算总结(个人总结很全面)由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“matlab精华个人总结”。
% 列举下列几种可能,希望能自己总结下,加深映像 a = 2;b = 3;a.*b = 6;a*b = 6;% a = [2 3];b = 3;a.*b = [6 9];a*b = [6 9];% a = [2 3];b = [4 7];a.*b = [8 21];a*b %错误 a*b' = 29;% a = [1 2;3 4];b =[2 3;4 7];a.*b = [2 6;12 28];a*b = [10 37;22 37];
2.1 [x,y]=meshgrid([-4:.5:4]);z=sqrt(x^2+y^2);surfc(x,y,z)
2.2 [x,y]=meshgrid([-4:.5:4]);z=sqrt(x.^2+y.^2);surfc(x,y,z)
3.1subplot(2,2,1),fplot('sin(1./x)',[0.01,0.1],1e-3)
subplot(2,2,2),fplot('sin(1/x)',[0.01,0.1],1e-3)
4,x=0.1:0.3:1;>> y=sin(x).*cos(x)这个用点运算能算出来结果,但 x=0.1:0.3:1;>> y=sin(x)*cos(x)却显示出错是什么原因? 望高手给及解答!谢谢了!!
你用y=sin(x)*cos(x)表示矩阵相乘,sin(x)和cos(x)都是1X4的矩阵,不符合矩阵的运算,矩阵要求前一个矩阵的行数(列数)等于后一个乘数矩阵的列数(行数)才能正确的相乘
y=sin(x).*cos(x)是数组相成,和做内积一样,是对应的项相乘 5
举个例子
>> a=[1 2 3];>> b=2/a ??? Error using ==> mrdivide Matrix dimensions must agree.>> b=2./a b = 2.0000 1.0000 0.6667 只有标量右除矩阵需要加点,其他的标量与矩阵的运算一般不需要加(如作业2.1)6 >> x=0:0.1:10;>> y=sin(x)+x*cos(x);??? Error using ==> * Inner matrix dimensions must agree.>> y=sin(x)+x.*cos(x);
维数保持一致
7是不是在遇到变量为向量的时候,符号表达式的运算符处要加点号? 但是怎么区别变量是不是向量啊?
是的,向量的乘、除、幂运算需要在运算符前加点号。
是不是向量需要你自己判断,一个简单的办法,可以在命令窗口中输入这个变量,然后回车,看它是几维的就行了!