帮忙看看Matlab 中的hold on命令哪里错了

来源:百度知道 编辑:UC知道 时间:2024/06/20 01:40:07
>> x=0:0.01:1;
>> y=x;
>> plot(x,y)
>> hold on
>> x=1:0.01:2;
>> y=0.5*x^4+0.5;
??? Error using ==> mpower
Matrix must be square.

y=0.5*x^4+0.5; %这一句出的问题。
对Matlab的使用首先要建立起Matlab使用矩阵计算的概念。

下面说一下出错的原因:
>> x=1:0.01:2;
这一句是将x设置为1*101的矩阵,注意,是矩阵!
matlab中的乘法(包括乘方)使用的都是矩阵的叉乘,而两个(或两个以上)的1*101的矩阵叉乘是无法计算的,这也就导致了错误的出现。(如果你学过线性代数应该可以理解)

解决这个问题最简单的方法就是将乘法(乘方)换为点乘(点乘方)。
修改后代码如下:
y=0.5*x.^4+0.5;
或者y=0.5*x.*x.*x.*x+0.5;
经测试可以通过。

在乘、除、乘方前加点才可以完成对应行列号元素的乘、除、乘方。