小白求教Matlab初级编程.
来源:学生作业帮 编辑:搜搜考试网作业帮 分类:综合作业 时间:2024/08/19 09:18:58
小白求教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');
出来的图很奇怪,只有一点,
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初级编程.](/uploads/image/z/5314364-44-4.jpg?t=%E5%B0%8F%E7%99%BD%E6%B1%82%E6%95%99Matlab%E5%88%9D%E7%BA%A7%E7%BC%96%E7%A8%8B.)
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))));
![](http://img.wesiedu.com/upload/5/f5/5f557ec61e18fd0da3e2d8309e960195.jpg)
再问: 应该是了,电容随时间变化的图像,这是什么道理,为什么要加上按位乘呢?
再答: 因为中间那个乘号两边分别是矩阵,你这是要对矩阵内元素相乘而不是矩阵相乘,所以要加个点,也就是matlab中*与.*的区别。
再问: 我试过,它会提醒??? 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))));
![](http://img.wesiedu.com/upload/5/f5/5f557ec61e18fd0da3e2d8309e960195.jpg)
再问: 应该是了,电容随时间变化的图像,这是什么道理,为什么要加上按位乘呢?
再答: 因为中间那个乘号两边分别是矩阵,你这是要对矩阵内元素相乘而不是矩阵相乘,所以要加个点,也就是matlab中*与.*的区别。