if語句
1.計算分段函數的值

(1)采用雙分支結構來實作,程式如下:
%if語句雙分支結構
x=input('請輸入x的值:');
if x==10
y=cos(x+1)+sqrt(x.^2+1);
else
y=x*sqrt(x+sqrt(x));
end
y
(2)采用單分支if語句來實作,程式如下:
%if語句單分支結構
x=input('請輸入x的值:');
if x==10
y=cos(x+1)+sqrt(x*x+1);
end
if x~=10
y=x*sqrt(x+sqrt(x));
end
y
(3)可以不用第一個if語句,直接求函數值。程式如下:
%第一個不用if直接求函數值
x=input('請輸入x的值:');
y=cos(x+1)+sqrt(x*x+1);
if x~=10
y=x*sqrt(x+sqrt(x));
end
y
2.輸入一個字元,若為大寫字母,則輸出其對應的小字母;若為小寫字母,則輸出其對應的大寫字母;若為數字字元則輸出其對應數的平方,若為其他字元則輸出原樣。
解析:可能會用到的函數有:
lower函數:将大寫字母轉換成相應的小寫字母;
upper函數:将小寫字母轉換成相應的大寫字母;
str2double函數:将字元串轉換為數值;
代碼如下:
c=input('請輸入一個字元:','s');
if c>='A' && c<='Z'
disp(lower(c));
elseif c>='a' && c<='z'
disp(upper(c));
elseif c>='0' && c<='9'
disp(str2double(c).^2);
else disp(c)
end
switch語句
1.某商場對商品進行打折銷售,标準如下(商品價格用price表示)
程式代碼如下:
price=input('請輸入商品價格');
switch fix(price/100) %fix()函數向零方向取整
case{0,1}
rate=0;
case{2,3,4}
rate=3/100;
case num2cell(5:9)
rate=5/100;
case num2cell(10:24)
rate=8/100;
case num2cell(25:49)
rate=10/100
otherwise
rate=14/100;
end
price=price*(1-rate)
try語句
1.矩陣乘法運算要求兩矩陣的維數相容,否則會出錯。先求兩矩陣的乘積,若出錯,則提示錯誤資訊。
程式如下:
A=input('請輸入A矩陣');
B=input('請輸入B矩陣');
try
C=A*B
catch
lasterr
end
程式結果:
>> try_
請輸入A矩陣[1,2,3,4;5,6,7,8;9,10,11,12]
請輸入B矩陣[1,2,3;4,5,6;7,8,9;10,11,12]
C =
70 80 90
158 184 210
246 288 330
>> try_
請輸入A矩陣[1,2,3;4,5,6]
請輸入B矩陣[2,3,4;5,6,7]
ans =
'錯誤使用 *
用于矩陣乘法的次元不正确。請檢查并確定第一個矩陣中的列數與第二個矩陣中的行數比對。要執行按元素相乘,請使用 '.*'。'