检查matlab代码clear all; clc; i = 00011; Range of i from 0 to 1 with 001 step h = 001; Step size s = 300 i h 5pi + 300; Displacement Calculating velocity v = zeros1 lengths; for j = 2lengths vj = s
这段MATLAB代码存在以下错误和问题:
- 缺少变量s的定义,应该在计算步长之前定义变量s。
- 在计算速度和加速度时,没有定义初始值,应该将v和a的初始值设为0。
- 在计算速度和加速度时,循环的范围应该从2开始,而不是从3开始。
- subplot函数的第一个参数应该是3,而不是3.1。
- subplot函数的最后一个参数应该是1,而不是3。
下面是修正后的代码:
clear all;
clc;
i = 0:0.01:1;
h = 0.01;
s = (300 .* (i .* h) ./ (5./pi)) + 300;
v = zeros(1, length(s));
for j = 2:length(s)
v(j) = (s(j) - s(j-1)) / h;
end
a = zeros(1, length(s));
for k = 2:length(s)
a(k) = (v(k) - v(k-1)) / h;
end
figure;
subplot(3,1,1);
plot(i, s);
xlabel('i');
ylabel('s (mm)');
title('Displacement');
subplot(3,1,2);
plot(i, v);
xlabel('i');
ylabel('v (mm)');
title('Velocity');
subplot(3,1,3);
plot(i, a);
xlabel('i');
ylabel('a (mm)');
title('Acceleration');
``
原文地址: http://www.cveoy.top/t/topic/hLth 著作权归作者所有。请勿转载和采集!