- Use readtable function to read csv file into matlab as a table.
- Get the required column of the table using tablevariablename.columnname
how to select a row of data from a csv file that is imported into Matlab?
25 次查看(过去 30 天)
显示 更早的评论
I need to read in a csv file and utilize a function that is built into matlab:
[a,ecc,incl,RAAN,argp,nu,truelon,arglat,lonper] = ijk2keplerian(r_ijk, v_ijk)
Here is what my csv file looks like:
how should I import this csv file into matlab and then make a set of row vectors r = [rx,ry,rz] and v = [vx,vy,vz] such that I can use the above function directly?
I also want to create a plot of all six elements returned by the ijk2keplerian(r_ijk, v_ijk) function vs time. How should I make a for loop such that the function ijk2keplerian(r_ijk, v_ijk) returns all 6 elements into lists so I can plot each of the six elements vs time (on the same plot with legend)??
0 个评论
采纳的回答
Sai Veeramachaneni
2020-11-17
Here are the few hints.
Example
filename='file.csv';
table_data=readtable(filename);
r=[table_data.rx(1),table_data.ry(1),table_data.rz(1)];
v=[table_data.vx(1),table_data.vy(1),table_data.vz(1)];
[a,ecc,incl,RAAN,argp,nu,truelon,arglat,lonper] = ijk2keplerian(r, v)
4 个评论
Sai Veeramachaneni
2020-11-18
You can build row vector inside for loop and later use this vector to plot the graphs.
See below code for your reference.
column_a=[]
column_ecc=[]
column_incl=[]
for i = 1:length(table_data.rx)
r=[table_data.rx(i),table_data.ry(i),table_data.rz(i)];
v=[table_data.vx(i),table_data.vy(i),table_data.vz(i)];
[a,ecc,incl,RAAN,argp,nu,truelon,arglat,lonper] = ijk2keplerian(r, v);
column_a=[column_a a]; %Storing value a inside row vector
column_ecc=[column_ecc ecc];
column_incl=[column_incl incl];
%Add remaining lines
end
plot(column_a,t)%t is the time
plot(column_ecc,t);
plot(column_incl,t);
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Data Import and Analysis 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!