我如何将给定的三个值范围划分为相等的部分像abc = [initial_values、mid_value last_value]和扩大范围的总9或12值?

3视图(30天)
你好,
我想在一个图表显示给定的值。然而,结果只包含三个值,没有图上的好看。我想显示图形上的多个点。
x = (80 160 240);
y = (0.0623671622299242 0.109342051940389 0.158597892409503);
情节(x, y);
我希望图的原始值和值在给定的值即x = 80, 100, 120, 140, 160, 180, 200, 220, 240……我想做的不是手动通过代码。谁能帮忙吗?
(PS:我是一个新手)
1评论
汗
2022年3月7日
知道x值可以计算使用for循环,因为众所周知的区别。然而,在的y的值,我不认为for循环的解决方案或引导我。
最好的问候

登录置评。

接受的答案

马克斯Alger-Meyer
马克斯Alger-Meyer 2022年3月7日
编辑:马克斯Alger-Meyer 2022年3月7日
最简单的方法是创建一个向量的两个组合,linearlly间隔向量,然后删除重复的点组成的第一个向量的结束和开始的第二个向量。
x = (80 160 240);
长度= 9;%这个数字应该奇怪如果你想中间x的值保持在中间
x2 = [linspace (x(1),(2),(长度+ 1)/ 2)linspace (x(2),(3),(长度+ 1)/ 2))
x2 = 1×10
80 100 120 140 160 160 180 200 220 240
上面的向量是几乎,但如你所见,中间值为160重复两次。我们可以在手动删除这个应用特点:
x2(元素个数(x2) / 2) = []
x2 = 1×9
80 100 120 140 160 180 200 220 240
1评论
马克斯Alger-Meyer
马克斯Alger-Meyer 2022年3月7日
我不确定你的意思当你说“我仍然无法分配或存储值( x2(元素个数(x2) / 2) = []) 一个新的变量”。括号中的代码不应该设置一个变量,因为它是一个命令告诉Matlab删除第一个x2两个相同的值的数组。最后的代码应该看起来如下。
x = (80 160 240);
长度= 9;%这个数字应该奇怪如果你想中间x的值保持在中间
x2 = [linspace (x(1),(2),(长度+ 1)/ 2)linspace (x(2),(3),(长度+ 1)/ 2)];
x2(元素个数(x2) / 2) = [];
x2%这只是证明数组。你不需要这条线在你的代码。
x2 = 1×9
80 100 120 140 160 180 200 220 240
澄清什么正在发生,元素个数(x2)返回元素的总数x2(在本例中是10)
x = (80 160 240);
长度= 9;%这个数字应该奇怪如果你想中间x的值保持在中间
x2 = [linspace (x(1),(2),(长度+ 1)/ 2)linspace (x(2),(3),(长度+ 1)/ 2))
x2 = 1×10
80 100 120 140 160 160 180 200 220 240
元素个数(x2)
ans = 10
元素个数(x2) / 2
ans = 5
x2(元素个数(x2) / 2)
ans = 160
因为数组x2是首先由两个数组的长度相同,我们将总是有偶数个数组元素,中间两个是相同的。第四行是引用两个相同的数组的第一个指标。我们可以设置x2(5) =[],然而是一种很好的做法使这段代码适用于任何我们想要的数组长度。所以不要喊5具体来说,我们使用元素个数(x2) / 2(在这种情况下等于5)。这是一个例子更短的数组:
x = (80 160 240);
长度= 5;%这个数字应该奇怪如果你想中间x的值保持在中间
x2 = [linspace (x(1),(2),(长度+ 1)/ 2)linspace (x(2),(3),(长度+ 1)/ 2)];
x2(元素个数(x2) / 2) = []
x2 = 1×5
80 120 160 200 240

登录置评。

答案(1)

Stephen23
Stephen23 2022年3月7日
MATLAB方法是使用INTERP1,因为你问的是什么 插值 是:
x = [80160240];
y = (0.0623671622299242, 0.109342051940389, 0.158597892409503);
xq =独特([x (1): 20: x(结束),x));
yq = interp1 (x, y, xq);
情节(yq xq,“- *”)

类别

找到更多的在线情节帮助中心文件交换

社区寻宝

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

开始狩猎!