用matlab创建文本文件

用matlab创建文本文件,matlab,cell-array,Matlab,Cell Array,我想用Matlab创建一个这样的文本文件,但我不知道该怎么做 range(0,25e-9,0+600e-9),range(0+600e-9,1e-4,1.000000e-03),range(1.000000e-03,25e-9,1.000000e-03+600e-9),range(1.000000e-03+600e-9,1e-4,2.000000e-03),range(2.000000e-03,25e-9,2.000000e-03+600e-9),range(2.000000e-03+600e-

我想用Matlab创建一个这样的文本文件,但我不知道该怎么做

range(0,25e-9,0+600e-9),range(0+600e-9,1e-4,1.000000e-03),range(1.000000e-03,25e-9,1.000000e-03+600e-9),range(1.000000e-03+600e-9,1e-4,2.000000e-03),range(2.000000e-03,25e-9,2.000000e-03+600e-9),range(2.000000e-03+600e-9,1e-4,3.000000e-03)
例如,这里我想创建6点,我可以自己做。但如果我想创建100点或500点,我必须使用Matlab。我写了一个代码,创建了一个类似这样的矩阵,但我想要的是不同的。这是我的代码,但我不能使用它

clc
clear
close all

stp1=25e-9;
stp2=1e-4;
A=600e-9;
B=1e-3;

i=3;
F=zeros(i,3);

for i=1:i
    if i==1
        F(i,1)=0;
        F(i,2)=stp1;
        F(i,3)=A;
    else 
        if mod(i,2)==0
         F(i,1)=F(i-1,3);
         F(i,2)=stp2;
         F(i,3)=(i/2)*B;
        else
            F(i,1)=F(i-1,3);
            F(i,2)=stp1;
            F(i,3)=F(i,1)+A;
        end
    end
end
例如,这是我的矩阵:

`     0.0000e+000    25.0000e-009   600.0000e-009
   600.0000e-009   100.0000e-006     1.0000e-003
     1.0000e-003    25.0000e-009     1.0006e-003`
我想把它们放在一行,像这样:

`range(0.0000e+000,25.0000e-009,600.0000e-009),range(600.0000e-009,100.0000e-006,1.0000e-003),range(1.0000e-003,25.0000e-009,1.0006e-003)`

你知道我想在我的文本文件中添加
范围(A(1,1),A(1,2),A(1,3)),范围(A(2,1),A(2,2),A(2,3))
。。。。我希望我已经很好地解释了我想要的东西。

我在下面编写了一些代码来帮助实现这一点。请评论,我可以调整(或者其他人可以根据更新的信息发布答案)

我还不确定你到底想要什么结果

作为参考,您可以查看
dlmwrite
fprintf
的文件I/O文档示例。请注意,您可以使用
dlmwrite
指定分隔符,使用
fprintf
指定确切格式

A = [0.0000e+000    25.0000e-009   600.0000e-009;
 600.0000e-009   100.0000e-006     1.0000e-003;
 1.0000e-003    25.0000e-009     1.0006e-003];
dlmwrite('TestFile.txt',A)  % Example use of dlmwrite

B = range(A,2);             % Range of the rows of A
dlmwrite('TextFile2.txt',B)

C = cell(size(A,1),1);
fileID = fopen('TestFile3.txt','w+');
formatstr = '%12s\r\n';
for k = 1:size(A,1)
    C{k}=['range(A(' num2str(k) ',:)'];
    fprintf(fileID,formatstr,C{k});
end
fclose(fileID);

希望这能有所帮助。

您有没有研究过
fprintf
dlmwrite
?你试着写什么到文本文件?嗯。。。您的问题是关于创建文本文件。。。或者关于创建具有所需数字的矩阵(然后将它们放入文本文件)?@SecretAgentMan@Hoki我想创建这样的文本文件:
range(0,25e-9,0+600e-9),range(0+600e-9,1e-4,1.000000e-03),
我可以创建一个[I,3]矩阵,但我不知道如何将它们放入文本文件,如
range(0,25e-9,0+600e-9),range(0+600e-9,1e-4,100000E-03),
…我不知道如何解释…对不起:(假设你有你的
m x n
矩阵
A
(1)正如@Hoki所问的,你知道如何创建你的矩阵吗?(2)你想从MATLAB中编写一个包含矩阵
a
的文本文件,对吗?有没有理由
dlmwrite
fprintf
不是很好的方法?(3)到目前为止你尝试了什么(编写文本文件)?此外,此标记为
单元格数组
,但我在您的代码中未看到任何单元格数组。您能否解释此标记应用的原因?感谢您的帮助,但TextFile2.txt或TextFile1.txt未包含任何
范围(…)
你知道,例如,这是我们的矩阵,我想创建一个这样的文本文件。我如何将这些字符串添加到我的文本文件???@alieskandari,检查第三个示例。这就是你想要的吗?我在列中做了。更改
格式可以将其放入行中。想象一下我们有一个这样的矩阵
[1,2,3;4,5,6]
我想创建一个这样的文本文件:
秘书长(1,2,3),秘书长(4,5,6)
你能告诉我怎么做吗@SecretAgentMan@alieskandari,命令
A(k,:)
返回
A
的第k行。如果不想使用MATLAB的“所有列”快捷方式,可以修改代码(冒号:)。我发布的代码似乎为您提供了我运行它时所寻求的答案。您是否希望它以行而不是列的形式出现?非常感谢您……我编辑了它,它很有效……我非常感谢您的好意。我真的很抱歉打扰您,占用您的时间。