Re: [問題] 關於結構陣列的問題已回收
※ 引述《Kira76 (一分牌技九分運)》之銘言:
: 最近上課遇到兩個問題,其實MATLAB基本操作我都還會,可是加入迴圈我就想不出來了
: 題目如下:
: QUESTION A
: 撰寫M檔案將下列資料寫入一結構陣列 SteelBar
: No. unit_weight diameter
: 6 2.25 19.1
: 7 3.04 22.2
: 8 3.98 25.4
: 9 5.08 28.7
: 並使用for迴圈與if判斷找出No.8的unit weight
: QUESTION B
: 撰寫一函數定義結構陣列SteelBar並計算號數為x的面積(x為使用者輸入之值)
: 懇請高手教導我=_=
: 感激不盡
QUESTION A
Step1:建立m-file ,檔名自訂
Step2:以下為程式內容
clc
clear
No = [ 6,7,8,9 ];
unit_weight = [ 2.25,3.04,3.98,5.08 ];
diameter = [ 19.1,22.2,25.4,28.7 ];
for i = 1 : length(No)
SteelBar(i).No = No(i);
SteelBar(i).unit_weight = unit_weight(i);
SteelBar(i).diameter = diameter(i);
if SteelBar(i).No==8 %%這行為要找的No
result = SteelBar(i).unit_weight
end
end
Step3:result即為你要的結果
QUESTION B
Step1:建立m-file ,檔名為SteelBar.m
Step2:以下為程式容
function [ output_args ] = SteelBar( x )
No = [ 6,7,8,9 ];
unit_weight = [ 2.25,3.04,3.98,5.08 ];
diameter = [ 19.1,22.2,25.4,28.7 ];
for i = 1 : length(No)
SteelBar(i).No = No(i);
SteelBar(i).unit_weight = unit_weight(i);
SteelBar(i).diameter = diameter(i);
if SteelBar(i).No==x
output_args = SteelBar(i).diameter^2*pi;
end
end
if ~exist('output_args') %%如果輸入的No沒有找到的話則輸出NaN
output_args = nan;
end
Step3:然後在命令列打 SteelBar(6) , 得到的ans即為No.6的面積
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.112.20.160
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 2 篇):
MATLAB 近期熱門文章
PTT數位生活區 即時熱門文章