You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Matlab(Octave)仅绘制Y=X²函数图,无法读取CSV文件的原因咨询

问题原因分析

核心问题1:CSV文件读取方式错误

textscan函数的第一个参数必须是文件标识符,而非直接传入文件名。你当前的代码data = textscan('mam.csv')无法正确打开并读取文件,正确的读取流程是先通过fopen获取文件句柄,读取完成后关闭文件:

fid = fopen('mam.csv', 'r'); % 打开CSV文件,获取文件标识符
data = textscan(fid, '%f %f'); % 指定读取两列浮点数格式
fclose(fid); % 关闭文件,释放资源

核心问题2:未处理读取数据并绘制到图中

即便文件读取成功,你的代码也没有从读取的data中拆分出CSV里的X、Y数据,更没有调用plot将其添加到已有图形中。需要补充以下步骤:

  1. 将cell数组转换为矩阵:data_mat = cell2mat(data);(此时data_mat是100行2列的矩阵,第一列为CSV中的X,第二列为Y)
  2. 开启图形保持(避免覆盖已绘制的Y=X²图形):hold on
  3. 绘制CSV数据:plot(data_mat(:,1), data_mat(:,2), 'r--')(用红色虚线区分原函数,可自行调整样式)

其他冗余/错误点

  • 代码中定义的nrows=2和ncolumns=100完全未被使用,属于冗余代码。
  • 错误使用transpose(data):textscan读取两列数据后得到的cell数组,经cell2mat转换后是100×2的矩阵,转置后变成2×100,反而不利于拆分X、Y数据,无需执行转置操作。
  • 绘图标签写法不规范:xlabel X和YLabel Y应改为xlabel('X')和ylabel('Y')(需给标签文本加引号)。

内容的提问来源于stack exchange,提问作者Анастасия

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.10 11:36:00