如何使用interp1命令?

2视图(30天)
穆罕默德Alharbi”class=
穆罕默德Alharbi 2021年9月26日
编辑: 穆罕默德Alharbi2021年10月4日
我有代码来绘制这些6数据如下:
ph1 = 1;
ph2 = 2;
ph3 = 3;
ph4 = 4;
ph5 = 5;
ph6 = 6;
Vi = 30;
签证官= 0:0.1:30;
d =签证官。/六世;
m1 = d * ph1;
m2 = d * ph2;
m3 = d * ph3;
m4 = d * ph4;
m5 = d * ph5;
m6 = d * ph6;
floor1 =地板(m1);
floor2 =地板(m2);
floor3 =地板(m3);
floor4 =地板(m4);
floor5 =地板(m5);
floor6 =地板(m6);
Kcm1 = (1 - (floor1. / (ph1 * d))) * (1 + floor1-ph1 * d)。
Kcm2 = (1 - (floor2. / (ph2 * d))) * (1 + floor2-ph2 * d)。
Kcm3 = (1 - (floor3. / (ph3 * d))) * (1 + floor3-ph3 * d)。
Kcm4 = (1 - (floor4. / (ph4 * d))) * (1 + floor4-ph4 * d)。
Kcm5 = (1 - (floor5. / (ph5 * d))) * (1 + floor5-ph5 * d)。
Kcm6 = (1 - (floor6. / (ph6 * d))) * (1 + floor6-ph6 * d)。
图(1)
持有
标题(为输出纹波电流的)
包含(的工作周期)
ylabel (“Kcm”)
情节(d, Kcm1)
情节(d, Kcm2)
情节(d, Kcm3)
情节(d, Kcm4)
情节(d, Kcm5)
情节(d, Kcm6)
传奇(“Phase1”,“Phase2”,“Phase3”,“Phase4”,“Phase5”,“Phase6”);
网格
持有
我想做的是,基于一个输入值(这是一个值在x轴上),我想让输出选择数据从这六个数字,最小轴值。
例如,
如果我把输入值是0.5,这是一个工作周期值在x轴上,然后输出应该显示推荐(第二阶段,第四阶段和图6),因为他们给轴的最小值(0)在这个特定的输入值为0.5
另一个例子,
如果输入值为0.25,那么推荐图显示是黄色(4级),这也给轴上的最小值,等等。
有人告诉我,我可以用每个曲线的“interp1”命令,选择最小的但我不知道如何使用它。
请帮助我吗?

接受的答案

Stephen23”class=
Stephen23 2021年9月27日
编辑:Stephen23 2021年9月27日
编号这样的变量是一个红鲱鱼,让这个任务变得更加复杂。
MATLAB是为了有效地处理数组。使用数组,可以使您的代码更简单:
ph = 1:6;
Vi = 30;
签证官= 0:0.1:30;
d = Vo. / Vi;
m = d (:)。* ph值;%注意方向!
Kcm = (1 - ((m)。/ m))。*(1 +地板(m) - m);
图(1)
标题(为输出纹波电流的)
包含(的工作周期)
ylabel (“Kcm”)
情节(d, Kcm)
传奇(sprintfc (“阶段% d”ph值));
网格
使用数组也让你的任务更简单:
输入= 0.5;
tmp = interp1 (d Kcm inp);
idx =找到(tmp = = min (tmp))
idx = 1×3
2 4 6
输入= 0.75;
tmp = interp1 (d Kcm inp);
idx =找到(tmp = = min (tmp))
idx = 4
注意数据的方向 是重要的,因为INTERP1对待每一列作为自己的数据集。
12个评论
穆罕默德Alharbi”class=
穆罕默德Alharbi 2021年10月4日
编辑:穆罕默德Alharbi 2021年10月4日
你好斯蒂芬,
我将解决前面的问题
m = d ' * ph值;
而不是:
m = d (:)。* ph值;
但是现在我已经使用的另一个问题 “发现” 命令在仿真软件功能块,金宝app因为它总是返回一个变长向量。请您看一看 这个线程 如果你有时间,我相信你会做的人可以帮我
Thannks提前!
默罕默德

登录置评。

更多的答案(0)

类别

找到更多的在迁移向导的应用帮助中心文件交换

标签

下载188bet金宝搏


释放

R2018b

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!

翻译的