digua 发表于 2012-4-7 19:23

请教matlab计算结果的输出

本帖最后由 digua 于 2012-4-7 19:36 编辑

我要求解x^3+a*x+b=0

由于a,b系数在不断变化,所以我写了函数,如下:
function y=mysolve3(a,b)
%%求解x^3+a*x+b=0的解
syms x
y=solve(x^3-a*x-b);
end

%%%%%%%%%%%%%%%%%%%%%

函数调用:
q=load('F:\entropy\solar\resul.txt');
q2=q(:,1);
q1=q(:,2);

% %mysolve3(71.4226,232.328)
fid1=fopen('re1.txt','wt');
fid2=fopen('re2.txt','wt');
fid3=fopen('re3.txt','wt');
for i=1:1:364
    a=mysolve3(q1(i),q2(i));
       a= double(a)   
       fprintf(fid1,'%f\n',a(1));
       fprintf(fid2,'%f\n',a(2));
       fprintf(fid3,'%f\n',a(3));
end
fclose(fid1);
fclose(fid2);
fclose(fid3);

总是在输出的地方出存在问题,只输出了实部,后面的虚部无法输出
请问怎么修改,谢谢!

ChaChing 发表于 2012-4-16 16:18

考量使用real, imag
印象模糊了, 不知是否有更好方式

F117_ren_0 发表于 2012-4-16 18:26

for i=1:363
    fprintf('\nx0(%.0f)=%f+%fi',i,real(x0(i)),imag(x0(i)));
end
页: [1]
查看完整版本: 请教matlab计算结果的输出