首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 其他开发语言 >

急matlab新手有关问题

2012-04-05 
急!!matlab新手问题打了三行代码r[-0.1:0.1:0.6]axis([-0.1 0.6 10 50])%横纵坐标轴plot(r,-40+[0.9*0

急!!matlab新手问题
打了三行代码 r=[-0.1:0.1:0.6];
  axis=([-0.1 0.6 10 50]);%横纵坐标轴
  plot(r,-40+[0.9*0.043*(1+2.71828)*16-2*0.9*0.043*(-40)+0.9*0.043*34*(1+2.71828)*r]/[0.043*(0.142+0.9-0.142*0.9*0.7)+0.142*0.9*r*r],'r+:')
提示错误:??? Error using ==> mtimes Inner matrix dimensions must agree
这是一个公式我把数字带进去了,想画出曲线图,v和r的关系 不知道怎么改 ,很急,求高手帮忙

[解决办法]
r=[-0.1:0.1:0.6];
axis=([-0.1 0.6 10 50]);%横纵坐标轴
y=-40+(0.9*0.043*(1+2.71828)*16-2*0.9*0.043*(-40)+0.9*0.043*34*(1+2.71828).*r)./(0.043*(0.142+0.9-0.142*0.9*0.7)+0.142*0.9.*r.*r)
plot(r,y,'r+:')

上面的是调好的,可以试试!
[解决办法]

探讨
r=[-0.1:0.1:0.6];
axis=([-0.1 0.6 10 50]);%横纵坐标轴
y=-40+(0.9*0.043*(1+2.71828)*16-2*0.9*0.043*(-40)+0.9*0.043*34*(1+2.71828).*r)./(0.043*(0.142+0.9-0.142*0.9*0.7)+0.142*0.9.*r.*r)
plot(r,y,'r+:')

……

[解决办法]
matlab是以矩阵来进行运算的,矩阵里面的数乘和点乘不同,数乘是矩阵的乘法运算,比如A跟B相乘,A的行数要等于B的列数,而你写的函数应该是要点乘,MATLAB里面的点乘是两个阵对应位置上的数相乘,就是点运算运算形式是:*./*
所以你应该在除号前面加一个“.”,然后再试试!

热点排行