作业帮 > 综合 > 作业

小白求教Matlab初级编程.

来源:学生作业帮 编辑:搜搜做题作业网作业帮 分类:综合作业 时间:2024/07/05 12:49:52
小白求教Matlab初级编程.
q0=10;
R=60;
L=9;
C=0.00005;
t=0:0.8;
q=(q0)*(exp((-R*t)/(2*L)))*(cos(t*(sqrt((1/(L*C))-(R/(2*L))^2))));
plot(q,'r.-');
xlabel('time');
ylabel('capacitor');
出来的图很奇怪,只有一点,
小白求教Matlab初级编程.
t=0:0.8;你这里,如果没指定步进值,则默认为1的,但是你最终值是0.8,这显然是不行的,你可以试试t=0:0.01:0.8
再问: 我试过,它会提醒??? Error using ==> mtimes Inner matrix dimensions must agree.
再答: 这是你想要出的图吗?q=(q0)*(exp((-R*t)/(2*L)))*(cos(t*(sqrt((1/(L*C))-(R/(2*L))^2))));这个函数中间那个*前面要加个‘.',即q=(q0)*(exp((-R*t)/(2*L))).*(cos(t*(sqrt((1/(L*C))-(R/(2*L))^2))));

再问: 应该是了,电容随时间变化的图像,这是什么道理,为什么要加上按位乘呢?
再答: 因为中间那个乘号两边分别是矩阵,你这是要对矩阵内元素相乘而不是矩阵相乘,所以要加个点,也就是matlab中*与.*的区别。