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程式設計問題,matlab程式設計問題
題1 基本運算 a 22 33 4 1 3 31 54 2 32 b 1 4 3 3 2 3 3 1 8 a 6 b ans 28 57 14 19 15 49 36 8 80 a b eye 3,3 eye 單位矩陣 ans 23 37 1 4 5 34 51 3 40 a b 矩陣乘法 ans ...
matlab程式設計問題急高懸賞,MATLAB問題,高分懸賞!下面的程式完成功能是什麼?
用lingo比較簡單,有需要lingo軟體留下郵箱我發給你。lingo 如下 model sets r 1.9 c 1.2 link r,c d endsets data d 1 1 2 35 8 7 412 44 15 48 4 15 5 12 7 14 enddata bnd 0,x,50 bn...
matlab中如何程式設計序進去,matlab中的指令碼程式怎麼編寫?
matlab 程式的檔案 是以.m檔案的形式呈現的。將matlab 編寫進.m檔案內然後版 執行即可。例子 權 建立一個 helloworld.m 檔案內包括內容如下 fprintf hello world 使用快捷鍵f5直接執行,然後可以在控制檯下看到列印的 hello world 按你問的問題,...