matlab输出字符串matlab中字符串和变量一起显示输出

2021-03-04 15:07:14 字数 3660 阅读 2542

1楼:禄新雁

disp(['a1=' num2str(a(1)) ]);

首先介绍disp()函数:该函数在页面上显示一个数组或者字符串。作为一种普遍用法,可以记住disp([ 需要显示的内容 ]) 这个万能的格式,此处不解释这样使用的原因,略显复杂了些。

总之,[ ]的存在是为了能同时在一个函数中显示多种数据。

‘a1=’中的‘’是在matlab中定义字符串的,而不是楼主在上面提到的“”双引号。

对于非字符串格式的数值,可以用num2str()函数转换为字符串,基于如前面不解释的原因,在num2str()函数的前后都需要加一个空格(这一点十分重要)。

举个例子

>> a=[34,35,36]

a =34 35 36

>> disp(['the max of a is ' num2str(max(a)) ', while the min is ' num2str(min(a)) '.']);

the max of a is 36, while the min is 34.

2楼:匿名用户

fprintf('δ(n-%d)\n',1)

这样是可以的,不过你那个sigma在我的matlab里面是显示不出来的。

3楼:匿名用户

disp('输出字符串!')

4楼:匿名用户

disp input

matlab中字符串和变量一起显示输出

5楼:紫冰雨的季节

matlab 字符串和变量名相互转化

字符串转换成变量名

1. eval:把字符串当命令来执行

例子:>> namesource=[10 20 30];

字符串转换成变量名

1. eval:把字符串当命令来执行

例子:>> namesource=[10 20 30];

for i=1:3

name=['varname',num2str(i)];

eval([name,'=namesource(i)'])end;

varname1 =

10varname2 =

20varname3 =

302. 加小括号(只适用于结构struct)结构体的域名field,字符串可以加小括号转换成域名,例:

>> a=['www',num2str(1)];

>> b.(a)=10

b =www1: 10

变量名转换成字符串

who返回变量名,例:

>> a1=123;a2=1234;a3=444;>> b=who('a*') %返回的b是cell结构的b = 'a1' 'a2' 'a3'

6楼:奥巴马康熙

程序如下:

unction mmt1

% 初始化变量x,并打印

x = 5;

printvar( x );

% 这个函数的功能就是提取变量的名

称,function printvar( var )disp( [ inputname( 1 ), '=', num2str( var ) ] );

运行后得到结果:

>> shiyan1

7楼:匿名用户

function shiyan1

% 初始化变量x,并打印

x = 5;

printvar( x );

% 这个函数的功能就是提取变量的名称,病打印function printvar( var )disp( [ inputname( 1 ), '=', num2str( var ) ] );

运行后得到结果:

>> shiyan1x=5

matlab如何输出字符和变量并写入文本

8楼:杨好巨蟹座

在matlab中可以用textread命令来控制从第n行开始读取数据。比如输出的原始数据,第1行是空白数据,第2行是数据名称,第3行是空白行,而有用数据是从第4行开始,如下所示:

vgs getdata("p2:id getdata("p2:gm getdata("p2:gd getdata("p2:vt

0.00000e+00 -2.02811e-14 2.35844e-13 1.23904e-14 -8.09185e-01

可用下面语句读取这些数据:

d=textread('nmos_vgs.dat', '' , 'headerlines', 2) %意味着读取数据的时候跳过前2行。

或者:d=textread('nmos_vgs.dat', '' , 'headerlines', 3) %意味着读取数据的时候跳过前3行。

(这说明textread命令似能自动跳过数据段落的空白行?)

顺手转一段网上的关于textread命令的详细解释。

实际应用中经常要读取txt文件,这个时候就需要用到强大的textread函数。

它的基本语法是:

[a,b,c,...] = textread(filename,format)

[a,b,c,...] = textread(filename,format,n)

其中filename就是文件名, format就是要读取的格式,a,b,c就是从文件中读取到的数据。中括号里面变量的个数必须和format中定义的个数相同。如果每n行相同格式的数据,可采用[a,b,c,...

] = textread(filename,format,n)的语法,读取n次。

举例如下:

例子1:myfile.txt 中的内容如下:

1 2 3 4

5 6 7 8

9 10 11 12

相应的语句为:

filename = '.\myfile.txt';

[data1,data2,data3,data4]=textread(filename,'%n%n%n%n');

或者为filename = '.\myfile.txt';

[data1,data2,data3,data4]=textread(filename,'%n%n%n%n',3);

例子2:myfile.txt 中的内容如下:

1, 2, 3, 4

5, 6, 7, 8

9, 10, 11, 12

相应的语句为:

filename = '.\myfile.txt';

[data1,data2,data3,data4]=textread(filename,'%n%n%n%n','delimiter', ',');

这里delimiter指出分隔符,读数据的时候会自动跳过分隔符。

9楼:匿名用户

给你提供一下思路,里面用到的函数自己help一下:

1、输出编号使用num2str,将double类型转化为字符;

2、写入文本使用fprintf函数

3、加入你的序号是“

一、二、三……”这一类的,那就写个字符数组,或者是字符元胞数组(cell)。每次循环挨个调用不同元素

10楼:匿名用户

加“ ....”就ok了

C语言符串输出时最后出现乱码,C语言 字符串输出时最后出现乱码

1楼 匿名用户 输出出现乱码就是因为字符串结尾并没有结尾符 0 。 gets函数读入一行字符串时,会在最末尾自动加上 0 结尾。但是你在for循环内将s2的字符一个个拷贝到s中的时候,循环限定条件只到了s2字符串的 0 结尾符之前,所以输出乱码了。 将循环条件k 2楼 匿名用户 include in...

输入字符串,按从小到大的顺序输出

1楼 匿名用户 include include intmain printf 排序后 n for i 0 i 3 i printf s n p i return 0 2楼 匿名用户 include void swap char s1 char s2 void main void swap char ...

c语言,输入一行字符串,输出其中所出现的大写英文字母

1楼 蛋碎一整晚 看到这个我就想起了我以前的思路,我贴出来供你参考,不是你那种方法,只是给你另一种思考问题的方法 include include include include include int main printf s n system pause return 0 2楼 沧海雄风 inc...