【问题标题】:how to read in input the second column of a text file as the values of a matrix?如何将文本文件的第二列作为矩阵的值读入输入?
【发布时间】:2014-09-13 17:34:30
【问题描述】:

我有很多包含两列的文本文件,例如:

    1998-08  56
    1998-09  78
    1998-10  12
    1998-11  76

我有一个 MATLAB 代码,我想用 octave 运行它。此代码生成一个随机矩阵 (c),然后计算泊松逆,现在我想告诉它获取文本文件的第二列作为 c 的值,而不是随机矩阵。 然后一旦我计算出来,我想将结果绘制在一个图表中,第一列的日期作为 x 轴的值。 我的问题很天真,但我对 octave 非常陌生,我昨晚花了很多时间搜索文档,但没有发现任何有用的东西。

     clc
     clear all
     #here I need to read in input the second columns of each file 
     C =     [8,9,3,6,4,1,5,8,3,5,8,10,5,3,1,5,11,3,6,5,8,5,1,3,5,3,3,7,0,2,6,7,1,8,3,5,2,6,3,5,3,8,2,5,2,7,4,4,5,50,7,5,3,3,8,2,7,7,3,6,4,4,2,4,5,1,5,14,2,6,1,4,7,3,4,6,1,3,4,4,5,1,5,4,4,6,6,2,0,4,8,9,4,5,10,3,4,2,3,6,6,8,5,5,8,3,8,4,5,4,1,4,6,5,2,5,5,7,5,1,5,4,5,3,5,11,8,6,6,0,6,4,6,5,6,4,6,4,11,4,6,5,4,4,4,2,4,7,4,40,7,7,3,1,6,7,7,4,10,5,5,4,8,5,4,5,2,7,8,6,7,6,4,3,3,3,4,6,1,7,2,6,5,7,3,6,3,6,2,3,4,7,2,4,3,6,4,7,9,5,6,2,4,4,7,4,6,3,5,3,3,5,4,8,5,3,6,4,8,6,3,8,2,7,5,3,3,8,8,4,4,8,5,7,4,4,3,6,8,4,3,4,3,9,4,3,10,4,4,5];
    C = C';

    N = length(C);
    H = 6;
    w = [1:H H+1 H:-1:1]';

    Lambda_Tilde = NaN * zeros(N, 1);
    L_Tilde = NaN * zeros(N, 1);
    U_Tilde = NaN * zeros(N, 1);
    for t = (H+1):(N-H-1)
       Lambda_Tilde(t) = sum(w .* C(t-H:t+H)) / sum(w);
       L_Tilde(t) = poissinv(0.005, Lambda_Tilde(t));
       U_Tilde(t) = poissinv(0.995, Lambda_Tilde(t));
    end

    clf
    plot(1:N, C, 'bo-');
    hold on
    plot(1:N, L_Tilde, 'r-.');
    plot(1:N, U_Tilde, 'r-.');

【问题讨论】:

  • 您的代码与此问题无关,您尝试过import your data 什么?那里确实有很多很好的文档,因此很难相信“发现没有任何用处”。尤其是csvreadimportdata 对你来说可能很有趣。或者告诉我们您的尝试有什么问题。
  • @thewaywalk 这正是重点。这是我在随机矩阵上的代码,我已经弄清楚我的公式是如何工作的,但我无法导入我的数据以使其在我的而不是随机矩阵上工作!现在我检查导入数据链接!谢谢。

标签: matlab octave


【解决方案1】:

数据的导入和导出真的是well documented,所以“发现没有有用”很难相信。尤其是importdata 可能对您来说很有趣。

data = importdata('Data.txt');
C = data.data.';

返回:

C =

    56    78    12    76

题外话:

NaN * zeros(N, 1)NaN(N, 1) 相同

【讨论】:

  • 我需要一些简单的教程来帮助新手学习这些东西。非常感谢你:-)
猜你喜欢
  • 2022-11-15
  • 1970-01-01
  • 1970-01-01
  • 2013-02-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-02-27
相关资源
最近更新 更多