yjt4717 2022-06-04 19:56 采纳率: 100%
浏览 73
已结题

如何在用matlab的时候画数据图的时候遇到了问题?

问题遇到的现象和发生背景

在画图的时候报错,数据类型有问题

问题相关代码,请勿粘贴截图

```
syms Sn En In Rn Tn q1 q2 B N En1 In1 a Rn1 L Tn1
Sn1=6.323610^7; Sn2=((Sn1-q1BInSn1)/N)-((q2BEn1Sn1)/N);
En2=(En1+q1
BIn1Sn1)/N-aEn1+(q2BEn1Sn1)/N;
In2=In1+aEn1;
Rn2=Rn1+L
In1;
In1=9; Rn1=0;
B=0.01704; a=0.13011;
En1=660;
q1=7*(exp(-0.25Tn1));
q2=13.2
(exp(-0.48Tn1));
L=0.0023
(Tn1^0.0911);
Tn2=Tn1+1;Tn1=1;
Tn=[1:0.1:3000];
plot(Tn2,Sn2,'r',Tn2,En2,'g',Tn2,In2,'b',Tn2,Rn2,'c')

```2,Rn2,'c')

运行结果及报错内容

错误使用 plot
数据必须为可转换为双精度值的数值、日期时间、持续时间或数组

我的解答思路和尝试过的方法

改了数据和定义范围,也还是报错

我想要达到的结果

想要画出三条线的关系

  • 写回答

1条回答 默认 最新

  • 胸毛男 2022-06-04 20:16
    关注

    感觉定义顺序需要改一下,这里也不用syms因为后边都变成数值了

    
    %这些有具体值,就不syms了
    %syms Sn En In Rn Tn q1 q2 B N En1 In1 a Rn1 L Tn1
    In1=9;
    Rn1=0;
    B=0.01704;
    a=0.13011;
    En1=660;
    Sn1=6.323610^7;
    N=9;%这里随便给了一个数
    Tn=1:0.1:30;%为了好画,3000编30
    %Tn1=1;  这个不对吧 ,Tn1明显是一串数
    Tn1=Tn;
    Tn2=Tn1+1;
    
    q1=7*(exp(-0.25*Tn1));
    q2=13.2*(exp(-0.48*Tn1));
    In=1;
    L=0.0023*(Tn1.^0.0911);
    
    Sn2=((Sn1-q1*B*In*Sn1)/N)-((q2*B*En1*Sn1)/N);
    En2=(En1+q1*B*In1*Sn1)/N-a*En1+(q2*B*En1*Sn1)/N;
    In2=In1+a*En1;
    Rn2=Rn1+L*In1;
    
    plot(Tn2,Sn2,'r',Tn2,En2,'g',Tn2,In2,'b',Tn2,Rn2,'c')
    grid on;
    

    img

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 6月12日
  • 已采纳回答 6月4日
  • 创建了问题 6月4日