将数据输出到文本文件

3 views (last 30 days)
我有这个代码
h = 1;
h = 15;
l = 500;
G = 9.81;
N1 = 1;
N2 = 2;
N3 = 3;
l1 =(2*l)/n1;
l2 =(2*l)/n2;
l3 =(2*l)/n3;
t1 =(2*l)/(n1*sqrt(g*h));
t2 =(2*l)/(n2*sqrt(g*h));
t3 =(2*l)/(n3*sqrt(g*h));
t = 0;
x = 0:10:l;
k1 =(2*pi)/l1;
k2 =(2*pi)/l2;
k3 = (2*pi)/L3;
sigma1 = sqrt(g*k1*tanh(k1*h));
sigma2 = sqrt(g*k2*tanh(k2*h));
sigma3 = sqrt(g*k3*tanh(k3*h));
eta1 =(h/2)*cos(k1*x)*cos(sigma1*t);
eta2 =(h/2)*cos(k2*x)*cos(sigma2*t);
eta3 =(h/2)*cos(k3*x)*cos(sigma3*t);
数字
抓住on
子图(3,1,1);
图(x,eta1)
标题('n = 1');
子图(3,1,2);
图(x,eta2)
标题('n = 2'
子图(3,1,3);
图(x,eta3)
标题('n = 3');
我需要将数据输出到3文本文件与2columns where x = 1,2,3 for three modes respectfully. (n =1,2,3 are modes). How would I go about this?
1条评论
Stozaki
Stozaki on 28 Sep 2021
你好,
我发现下一页上的内容很有用。

登录发表评论。

接受的答案

William Rose
William Rose on 28 Sep 2021
@Tyler Bodnarik ,,,,
在MATLAB 2021上,使用Writetable()或DLMWRITE()。请参阅每个人的帮助。
在MATLAB 2018上,使用dlmwrite(),因为Writetable()尚未在MATLAB中。
使用MATLAB的ARAY功能缩短您的代码。
我建议您将可变l命名为Xmax,因为L和数字1在MATLAB使用的快递字体中看起来非常相似。
这是使用MATLAB数组功能并创建您要求的三个文件的代码。
h = 1;
h = 15;
Xmax = 500;
G = 9.81;
n = 1:3;%1x3阵列
L=2*xmax./n;%1x3阵列
t = 2*xmax ./(n*sqrt(g*h));%1x3阵列
t = 0;
x = 0:10:xmax;%1x51阵列
k = 2*pi。/l;%1x3阵列
sigma = sqrt(g*k。*tanh(k*h));%1x3阵列
eta = h/2*cos(k'*x)。*cos(sigma'*t);%3x51阵列
数字
为了i = 1:3
subplot(3,1,i);
情节(x,eta(i,:))
titlestr=sprintf('n=%d',,,,i);
标题(titlester);
文件名= sprintf(“ dataout%d.txt”,,,,i);
dlmwrite(文件名,[x',eta(i,:)']);
结尾
祝您工作好运。

更多答案(0)

社区寻宝

在Matlab Central中找到宝藏,发现社区如何为您提供帮助!

Start Hunting!

被某某人翻译