Labfans是一个针对大学生、工程师和科研工作者的技术社区。 | 论坛首页 | 联系我们(Contact Us) |
![]() |
|
![]() |
#1 |
初级会员
注册日期: 2009-02-24
年龄: 41
帖子: 3
声望力: 0 ![]() |
![]()
我也是新手,我给你写了下。但是显示矩阵维数不一致。
x=0:100; y=2*tanh(3/x)/(3-4*tanh(3/x)); plot(x,y) ??? Error using ==> mrdivide Matrix dimensions must agree. 你检查下你的函数看看。 |
![]() |
![]() |
![]() |
#2 |
初级会员
注册日期: 2008-04-14
年龄: 38
帖子: 2
声望力: 0 ![]() |
![]()
你这里y是一个单变量,而x是一个1*100维矩阵,当然矩阵不匹配了。。。
作如下改写: for i=1:100, y(i) = 2*tanh(3/i)/(3-4*tanh(3/i)); end plot(y); |
![]() |
![]() |
![]() |
#3 |
游客
帖子: n/a
|
![]()
对于这个函数,y=c*tanh(t1/x)/(t1-tc*tanh(t1/x)),
你首先需要赋值,也就是x的范围,比如你希望x从0,200,共分100个点,可以写成: x=linspace(0,200,100); 再带入计算。 如果是二维图象,也可以避免用for进行循环;例如,我们画正态分布曲线,f(x,y)=exp(-x^2-y^2); 如果你需要把x的范围设置在[-10,10],网格分100个点;y的范围设置在[-5,5],共50个点,你可以这样写: x=linspace(-10,10,100); y=linspace(-5,5,50); [X Y]=meshgrid(x,y);%建立二维网格 P=exp(-X.^2-Y.^2); contour(X,Y,P) |
![]() |
![]() |
#4 |
初级会员
注册日期: 2008-08-08
年龄: 38
帖子: 1
声望力: 0 ![]() |
![]()
俺也在学,交流一下。刚才试验过了,小改一下你的写法可以用。
应为x=0:100是一位向量了,所以y中与x有关的运算符要改成.(算符),让向量元素单个进行运算,而不是整个向量一起做运算。 |
![]() |
![]() |
![]() |
#5 |
初级会员
注册日期: 2008-11-30
年龄: 48
帖子: 5
声望力: 0 ![]() |
![]()
多谢各位的大力相助,我有空的时侯再试试。这真是个好论坛,互帮互助,共同进步。
|
![]() |
![]() |
![]() |
|
|
![]() |
||||
主题 | 主题作者 | 版面 | 回复 | 最后发表 |
matlab可以建气溶胶荧光光谱数据库吗 | rongerlovesj | MATLAB论坛 | 0 | 2009-02-06 15:20 |
[分享]matlab/simulink超级好网站推荐 | rstsing | MATLAB论坛 | 1 | 2009-01-30 13:10 |
[求助].m文件,运行错误提示 | Leo_fish | MATLAB论坛 | 1 | 2008-12-24 09:42 |
[求助]图形分块涂色的问题 | olypic | MATLAB论坛 | 0 | 2008-12-14 21:49 |