查看: 125|回復: 5|關注: 0
打印 上一主題 下一主題

[已解決] 簡單畫圖,請教

[復制鏈接]

新手

7 麥片

財富積分


050


2

主題

4

帖子

0

最佳答案
跳轉到指定樓層
1#
大致就是畫一個在0-60秒的一個函數,在20-25時間函數值是10cos(2t),其他時間都是0.
  1. clc;
  2. clear all;
  3. t=0:0.001:60;
  4. if (t>20 & t<25)
  5.     u=0*t+10*cos(2*t);
  6. else
  7.     u=0*t;
  8. end
  9. plot(t,u);
  10. axis([0 60 -15 15]);
  11. xlabel ('Time (s)');
  12. ylabel('u(n)');
復制代碼



MATLAB 基礎討論
版塊優秀回答者

中級

1060 麥片

財富積分


5001500


0

主題

1617

帖子

232

最佳答案
  • 關注者: 40
2#
發表于 2019-10-23 16:38:39 | 只看該作者 |此回復為最佳答案
[email protected](t)10*cos(2*t)*(t>20 & t<25);
fplot(u,[0 60])

望設置為最佳答案!謝謝

新手

14 麥片

財富積分


050


5

主題

55

帖子

0

最佳答案
  • 關注者: 1
3#
發表于 2019-10-23 17:14:31 | 只看該作者

您好,運行了您的代碼,但為什么一直是0

新手

14 麥片

財富積分


050


5

主題

55

帖子

0

最佳答案
  • 關注者: 1
4#
發表于 2019-10-23 17:15:50 | 只看該作者
樓主,可以得到你想要的結果嗎?我也是初學者,為什么我運行了之后結果一直是零

新手

14 麥片

財富積分


050


5

主題

55

帖子

0

最佳答案
  • 關注者: 1
5#
發表于 2019-10-23 17:32:04 | 只看該作者
試了半天,這是為什么? 用matlab14a 運行不正常,用16a運行正常,難道是因為14a的比較落后嗎?

新手

7 麥片

財富積分


050


2

主題

8

帖子

0

最佳答案
6#
發表于 2019-10-23 17:33:30 | 只看該作者
你那種寫法肯定全是0,因為else后面的乘法是重新對t作的,相當于所有的u都被改了。比較簡單的做法如下:
t = 0:0.001:60;
u = zeros(1,size(t,2));
u((t>20 & t<25))=10.*cos(2.*t(t>20 & t<25));
plot(t,u);
axis([0 60 -15 15]);
xlabel ('Time (s)');
ylabel('u(n)');
您需要登錄后才可以回帖 登錄 | 注冊

本版積分規則

關閉

站長推薦上一條 /3 下一條

快速回復 返回頂部 返回列表
哪一款德州扑克还能玩