B.L867 2023-04-03 14:26 采纳率: 100%
浏览 18
已结题

MATLAB导入excel表格数据,并且根据黄金分割法选型画出图形

在MATLAB里,我想导入一个excel表格,并且读取表格中的数据(有两列),根据黄金分割法选出相应数据,并且画出黄金分割曲线,程序如下,运行时显示,错误使用 plot,Y 的下标无效,可是我并没有使用Y的下标,请问一下怎么解决

% 读取Excel表格数据
data = readtable('D:\MATLAB学习\黄金分割曲线\数据选型.xlsx');
Speed = data(:,1);
Depth = data(:,2);
n = size(Speed); % 总数据数

% 黄金分割法选择数据
a = 1; % a表示区间左端点
b = n; % b表示区间右端点
p = .618; % 黄金分割比例
x1 = round(a + (1-p)*(b-a)); % 计算第一个中间点
x2 = round(a + p*(b-a)); % 计算第二个中间点
while abs(x2-x1) > 1
    if Speed(x1) < Speed(x2)
        b = x2;
        x2 = x1;
        x1 = round(a + (1-p)*(b-a));
    else
        a = x1;
        x1 = x2;
        x2 = round(a + p*(b-a));
    end
end
index = round((a+b)/2); % 黄金分割点

% 绘制黄金分割曲线
figure
plot(Speed,Depth)
hold on;
plot(Speed(index),Depth(index),'r*')
xlabel('Speed')
ylabel('Depth')
legend('原始数据','黄金分割点')



speed_golden = Speed(index);
depth_golden = Depth(index);
fprintf('The golden ratio point is at (%f, %f).\n', speed_golden, depth_golden)

img

  • 写回答

1条回答 默认 最新

  • CSDN-Ada助手 CSDN-AI 官方账号 2023-04-03 16:21
    关注
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 4月13日
  • 已采纳回答 4月5日
  • 创建了问题 4月3日

悬赏问题

  • ¥15 init i2c:2 freq:100000[MAIXPY]: find ov2640[MAIXPY]: find ov sensor是main文件哪里有问题吗
  • ¥15 运动想象脑电信号数据集.vhdr
  • ¥15 三因素重复测量数据R语句编写,不存在交互作用
  • ¥15 微信会员卡等级和折扣规则
  • ¥15 微信公众平台自制会员卡可以通过收款码收款码收款进行自动积分吗
  • ¥15 随身WiFi网络灯亮但是没有网络,如何解决?
  • ¥15 gdf格式的脑电数据如何处理matlab
  • ¥20 重新写的代码替换了之后运行hbuliderx就这样了
  • ¥100 监控抖音用户作品更新可以微信公众号提醒
  • ¥15 UE5 如何可以不渲染HDRIBackdrop背景