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

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 MATLAB代码补全插值
  • ¥15 Typegoose 中如何使用 arrayFilters 筛选并更新深度嵌套的子文档数组信息
  • ¥15 前后端分离的学习疑问?
  • ¥15 stata实证代码答疑
  • ¥50 husky+jaco2实现在gazebo与rviz中联合仿真
  • ¥15 dpabi预处理报错:Error using y_ExtractROISignal (line 251)
  • ¥15 在虚拟机中配置flume,无法将slave1节点的文件采集到master节点中
  • ¥15 husky+kinova jaco2 仿真
  • ¥15 zigbee终端设备入网失败
  • ¥15 金融监管系统怎么对7+4机构进行监管的