MatLab Loop для отображения информации из вектора и строкового массива - PullRequest
0 голосов
/ 29 сентября 2018

Итак, у меня есть строковый массив с именами 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 

1 Ответ

0 голосов
/ 29 сентября 2018

Если вы хотите придерживаться своего кода цикла, вы можете добавить к первоначально пустому новому списку TB (x), (после того, как вы найдете мин внутри цикла), и, наконец, переполнить TB этим списком, как вы это делаетедля 'cost'.

Кроме того, вы можете, например, использовать функцию sort () MATLAB, получить ее индексы и применить их к ТБ, например:

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

Также, если вы планируетечасто используйте структуру book-cost, вы можете определить их как таблицу, а затем использовать функцию sortrows () MATLAB, которую можно применять к таблицам.Смотрите документацию, в частности - сортировку по переменным таблицы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...