Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
MatLab循环显示向量和字符串数组中的信息_Matlab - Fatal编程技术网

MatLab循环显示向量和字符串数组中的信息

MatLab循环显示向量和字符串数组中的信息,matlab,Matlab,因此,我有一个字符串数组,其中包含5本历史教科书的名称,下面是一个列表,其中包含以美元为单位的连续价格。我想创建一个循环函数,对价格进行排序,并列出教科书的名称。我知道如何创建一个对价格进行排序的循环,但我不知道如何使函数列表成为每个价格所属的教科书。任何帮助都将不胜感激。谢谢 %LIST OF TEXTBOOKS TB = ["1. America Past and Present - Divine","2. America's History - Henretta","3. Unfinis

因此,我有一个字符串数组,其中包含5本历史教科书的名称,下面是一个列表,其中包含以美元为单位的连续价格。我想创建一个循环函数,对价格进行排序,并列出教科书的名称。我知道如何创建一个对价格进行排序的循环,但我不知道如何使函数列表成为每个价格所属的教科书。任何帮助都将不胜感激。谢谢

%LIST OF TEXTBOOKS

TB = ["1. America Past and Present - Divine","2. America's History - Henretta","3. Unfinished Nation - Brinkley","4. Out of Many - Faragher","5.The American Pageant - Kennedy"];

%LIST CONTAINING TEXTBOOK PRICES IN DOLLARS 

cost = [118 120 97 102 89]; 

%HERE I WANT TO WRITE A FUNCTION THAT RETURNS THE TEXTBOOK NAME AND IT'S PRICE 

如果您想继续使用循环代码,您可以将TB(x)附加到一个最初为空的新列表中(在您找到循环中的最小值之后),最后通过该列表超出TB,就像您对“成本”所做的那样

或者,例如,您可以使用MATLAB的sort()函数,检索其索引并将其应用于TB,如:

[~, I] = sort(cost) ;
TB = TB(I) ;

此外,如果您计划大量使用图书成本结构,可以将它们定义为一个表,然后可以使用MATLAB的sortrows()函数,该函数可以应用于表。具体请参见文档-按表变量排序

告诉我们你已经做了什么这对成本进行了排序,但这就是我所能知道的I=1:length(成本)[changeVal(I),x]=min(成本);成本(x)=[];最终成本=变更价值