MATLAB中如何用矩阵变量绘制图形?

在使用矩阵的变量元素作为方程变量进行绘图时MATLAB总是提示错误:
Error using plot
Conversion to double from sym is not possible.
比如简单的绘图问题:
syms t;
a=[1,2*t ,3; 4,5,6;7,8,9];
t=0:0.01:10;
plot(a(1,2),a(1,1));

看不懂你要做什么。plot不是这样用的。

如果你要做(a(1,2),a(1,1))的图像,并且:

a(1,2)=2*t;
a(1,1)=1;

同时t是一个矩阵:

t=0:0.01:10;

那么你应该这样来画图:

t=0:0.01:10;
a=2*t;  %也就是你所谓的a(1,2)
b=1;   %也就是你所谓的a(1,1)
plot(a,b);   %也就是你所谓的plot(a(1,2),a(1,1));

a是一个矩阵,你不能让a(1,1)等于一个数,而a(1,2)等于一个矩阵。a(1,2)也必须等于一个数。

建议多熟悉一下plot的用法。若有不解,欢迎追问。

追问

这是我想做的事:

很明显,这里的矩阵Tn依赖于矩阵f1,f2,f3,f4,f5,f6,而这里的fi是变化的,所以对应它们的乘积Tn变化一次我想利用它的第四列的前三个变量元素绘制一个三维图。

追答

很抱歉我没有看懂你想要做的事情。
按照我的理解,plot来画图的时候,参数应该是数,而不会是变量。即使是变量,你在画的时候,也是要先算出来数的。是不能直接用变量来画图的。
可以参考matlab官方帮助文档:http://cn.mathworks.com/help/matlab/ref/plot.html?searchHighlight=plot
或许你可以换一种思路再试试。抱歉不能帮到你。不好意思。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2020-12-23

本视频展示如何用matlab绘制散圆状态图,可用于相关科研数据绘图!

第2个回答  2014-12-26
这样是不可以的。
相似回答