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日

悬赏问题

  • ¥100 set_link_state
  • ¥15 虚幻5 UE美术毛发渲染
  • ¥15 CVRP 图论 物流运输优化
  • ¥15 Tableau online 嵌入ppt失败
  • ¥100 支付宝网页转账系统不识别账号
  • ¥15 基于单片机的靶位控制系统
  • ¥15 真我手机蓝牙传输进度消息被关闭了,怎么打开?(关键词-消息通知)
  • ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
  • ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本
  • ¥15 手机接入宽带网线,如何释放宽带全部速度