在 for 循环中使用 fprintf 会提供错误的值

nekmat97

我有一个 MATLAB 函数文件,用于计算给定函数的误差值。我目前正在分别进行 3 次迭代

k=[5,10,15];

% Iteration 1
error1= (vel(5,t1,t2,func)-exact)*100/exact;

% iteration_2
error2 = (vel(10,t1,t2,func)-exact)*100/exact;

% iteration_3
error3 = (vel(15,t1,t2,func)-exact)*100/exact;

fprintf("Error for k = 5, error1 = %0.4f \nError for k = 10, error2= %.4f \nError for k = 15, error = %.4f\n ",error1,error2,error3)

我试图用这个把它变成一个 for 循环

for i = 1:length(k);
K = k(i);
error = vel(k,t1,t2,func);
error(i) = error;
error = abs((error-exact)/exact);
fprintf('Error for %d is %0.4d\n',K,error)
end

但是,当我尝试运行此 for 循环时,我的 fprintf 完全错误。我一直试图让它工作一段时间,但它仍然给我错误的答案。

任何帮助将不胜感激,谢谢!

赫里安托林
k=[5,10,15];
for i=k
    error=abs(vel(i,t1,t2,func)-exact)/exact*100;
    fprintf('Error for %d is %.4f\n',i,error);
end

干杯。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章