《實驗4 Matlab程序設(shè)計》由會員分享,可在線閱讀,更多相關(guān)《實驗4 Matlab程序設(shè)計(5頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、
實驗4 Matlab程序設(shè)計1
實驗目的:
1、 掌握建立和執(zhí)行M文件的方法;
2、 掌握實現(xiàn)選擇結(jié)構(gòu)的方法;
3、 掌握實現(xiàn)循環(huán)結(jié)構(gòu)的方法。
實驗內(nèi)容:
1. 從鍵盤輸入一個4位整數(shù),按如下規(guī)則加密后輸出。加密規(guī)則:每位數(shù)字都加上7,然后用和除以10的余數(shù)取代該數(shù)字;再把第一位與第三位交換,第二位與第四位交換。
x=input('請輸入四位數(shù):');
if x<1000|x>9999
disp('輸入錯誤:');
else
a=rem(x,10);
b=fix(rem(x,100)/10);
c=fix(rem(x,1000)/
2、100);
d=fix(x/1000);
a=rem(a+7,10);
b=rem(b+7,10);
c=rem(c+7,10);
d=rem(d+7,10);
i=a;
a=c;
c=i;
i=b;
b=d;
d=i;
z=1000*b+100*a+10*d+c
end
請輸入四位數(shù):154
輸入錯誤:
請輸入四位數(shù):1546
z = 8213
2. 求分段函數(shù)的值。
用if語句實現(xiàn),分別輸出x=-5,-3,0,1,2,2.5,3,5時的y值。
x=input('請輸入x的值:');
if x<0&x~=-3
3、y=x^2+x-6;
elseif x>=0&x<5&x~=2&x~=3
y=x^2-5*x+6;
else
y=x^2-x-1;
end
y
請輸入x的值:-5
y = 14
請輸入x的值:-3
y = 11
請輸入x的值:0
y = 6
請輸入x的值:1
y = 2
請輸入x的值:2
y =
1
請輸入x的值:2.5
y =
-0.2500
請輸入x的值:3
y =
5
3. 輸入一個百分制成績,要求輸出成績等級A、B、C、D、E,其中90~100分為A,80~89分為B,
4、70~79分為C,60~69分為D,60分以下為E。
要求:
(1) 分別用if語句和swich語句實現(xiàn)。
a=input('請輸入分數(shù):');
switch fix(a/10)
case{0,1,2,3,4,5}
disp('E');
case{6}
disp('D');
case{7}
disp('C');
case{8}
disp('B');
case{9,10}
disp('A');
otherwise
disp
5、('輸入錯誤。');
end
a=input('請輸入分數(shù):');
if a>=90&a<=100
disp('A');
elseif a>=80&a<=89
disp('B');
elseif a>=70&a<=79
disp('C');
elseif a>=60&a<=69
disp('D');
elseif a>=0&a<=59
disp('E');
else
disp('輸入錯誤');
end
(2) 輸入百分制成績后要判斷該成績的合理性,對不合理的成績應輸出出錯信息。
請輸入分數(shù):56
E
請輸入分
6、數(shù):120
輸入錯誤
4. 硅谷公司員工的工資計算方法如下:
(1) 工作時數(shù)超過120小時者,超過部分加發(fā)15%;
(2) 工作時數(shù)低于60小時者,扣發(fā)700元;
(3) 其余按每小時84元計發(fā)。
試編程按輸入的工號和該號員工的工時數(shù),計算應發(fā)工資。
c=input('請輸入職工號:','s');
a=input('請輸入工時:');
disp('職工號為');
disp(c);
disp('的工資是:');
if a>120
disp(120*84+(a-120)*84*(1+0.15));
elseif a>0&a<60
disp(a*
7、84-700);
elseif a>=60&a<=120
disp(a*84);
else
disp('輸入錯誤。');
end
請輸入職工號:15
請輸入工時:130
職工號為
15
的工資是:
11046
5. 設(shè)計程序,完成兩位數(shù)的加、減、乘、除四則運算。即:輸入兩個兩位隨機整數(shù),再輸入一個運算符號,做相應的運算,并顯示相應的結(jié)果。
a=input('請輸入兩位數(shù):');
b=input('請再輸入兩位數(shù):');
c=input('請輸入+,-,*,/:','s');
if strcmp(c,'+')
disp(a+
8、b);
elseif c=='-'
disp(a-b);
elseif c=='*'
disp(a*b);
elseif c=='/'
disp(a/b);
else
disp('輸入錯誤。');
end
請輸入兩位數(shù):15
請再輸入兩位數(shù):16
請輸入+,-,*,/:/
0.9375
6. 建立5×6矩陣,要求輸出矩陣的第n行元素。當n值超過矩陣的行數(shù)時,自動轉(zhuǎn)為輸出矩陣的最后一行元素,并給出出錯信息。
請輸入行數(shù):4
ans =
0.5195 0.1372 0.4374 0.7258 0.6264 0.6813
請輸入行數(shù):8
ans =
0.0693 0.5365 0.8660 0.3311 0.7918 0.6690
輸入超過行數(shù)。
7. 產(chǎn)生20個兩位隨機整數(shù),輸出其中小于平均數(shù)的偶數(shù)。
x=10+(99-10)*rand(1,20);
x=fix(x(:));
y=mean(x);
x(find(rem(x,2)==0&x