matlab中s函式的程式設計問題,matlab中S函式的程式設計問題

2021-07-02 23:34:23 字數 1415 閱讀 6506

1樓:流星

function [sys,x0,str,ts]=mdlinitializesizes

sizes = simsizes;

sizes.numcontstates = 0;

sizes.numdiscstates = 4;

sizes.numoutputs = 1;

sizes.numinputs = 2;

sizes.dirfeedthrough = 0;

sizes.numsampletimes = 0;

sys = simsizes(sizes);

x0 = [0 6 1 0];%x(1)時間0開始;x(2)幅值;x(3)切換標誌位;x(4)週期標誌位;

str = ;

ts = ;

function sys=mdlupdate(t,x,u)t=0.000125;%週期設定

k=x(4);

s=x(2);

i=x(3);

if mod(i,2)==1

p1=1.56*10^(-6);

p2=-1.295*10^(-6);

p3=-7.847*10^(-6);

p4=61.5*10^(-6);

m=u(1);

n=u(2);

a=p1*311*sin(100*pi*(k+1))+p2*m+p3*n+p4;

t3=t*k+a;

endif mod(i,2)==0

t3=t*k;

endt1=x(1);

t2=t;

if (t1<=t3) & (t2>t3)%尋找切換時間點s=-s;

i=i+1;

if mod(i,2)==0

k=k+1;

endend

sys=[t2 s i k];

function sys=mdloutputs(t,x,u)sys=[x(2)];

因為時間關係,沒有仔細斟酌,程式不是很簡潔,但是可以用。

2樓:卿空班宛亦

數string面吧

首先確認輸入string

用modifiedstr

=strrep(origstr,

oldsubstr,

newsubstr)b=

strrep(a,

'01',

'1')

b01都換1

0本0用變

清楚要單獨現1換0

011要換00

用num2strstr2num類轉換string或者數字格式我前面說明白

輸入例輸入a

c=num2str(a)b=

strrep(c,

'01',

'0')a=

str2num(b)

matlab中random函式的問題

產生乙個3行3列的隨機數矩陣。隨機數服從0 10之間的均勻分布 即x u 0,10 matlab中rand 函式的問題。if number 0 number 1 6 k 1 這個地方是大寫k,不改變k的值哦 matlab產生隨機數問題 第乙個問題,執行 下面的 就都有了。x 10 rand 1,10...

MATLAB中datenum函式的問題

命令格式 datestr d,form 顯示序列數d表示的 form表示形式的日期。form引數從0 18,共19個整數,各代表0 dd mmm yyyy,1 dd mmm yyyy,2 mm dd yy 3 mmm 月的前三個字母 4 m 月的首寫字母 5 m 月的阿拉伯數字 6 mm dd,7 ...

matlab中if和switch函式問題

輸出不正常的原因 matlab 中case 不同於if else,case 後面跟的應該是變數確切的值,而不是邏輯判斷。詳細可以在command window中輸入doc case檢視。舉例 function z untitled x a 1 b 2 c 3 d 4 z 0 switch x cas...