2

我是 matlab 新手,在使用示例时遇到了一些麻烦。

科罗拉多河流域流域覆盖了西部七个州的部分地区。在科罗拉多河及其支流上建造了一系列水坝,以储存径流水并产生低成本的水力发电。调节水流的能力使这些干旱沙漠州的农业和人口增长成为可能。即使在长期干旱期间,基地州也有稳定、可靠的水和电来源。鲍威尔湖是这些水库之一。lake_powell.txt 包含 2000 年至 2007 年八年的水库水位数据。

a) 使用嵌套的 for 循环一次将一个水位值读入lake_powell 矩阵。

lake_powell(month,year) = fscanf(fileID, '%f', 1);

打印带有标题和年份列标题的lake_powell 矩阵。

b) 使用平均值来确定每年的平均水位高度和收集数据的八年期间的总体平均值。

c) 使用查找和长度来确定每年有多少个月超过八年期间的总体平均值。

d) 创建一份报告,列出超过总体平均值的每个月份的月份(数字)和年份。例如,六月是第 6 个月。使用查找。

e) 确定并打印八年期间每个月的平均水位。使用平均值。

f) 绘制lake_powell 中的水位值,使用

date=2000:1/12:2008-1/12;
plot(date,lake_powell(:))
xlabel('Year')
ylabel('Water level, ft')
4

1 回答 1

1

听起来您应该使用 textscan 而不是 fscanf。

testscan 逐行读取分隔文件,其中每一行具有一致的格式。

阅读 textscan 的文档,你应该有你的解决方案。

于 2012-10-12T15:18:00.483 回答