What is the problem in simple matrix operation.?
Ältere Kommentare anzeigen
clear all;clc
names = {'A'; 'B'; 'C'; 'D'};
marks = [27; 48; 84; 22];
in_st = {names marks};
in_st = [names num2cell(marks)];
function [op_st1,op_st2] = print_Data(in_st)
in_st = in_st;
[~,idx] = sort(in_st(:,1));
op_st1 = in_st(idx,:)
[~,idx] = sort(in_st(:,2),'descend');
op_st2 = in_st(idx,:)
I want op_st1 in ascending order, and op_st2 in descending order. It works well upto half program, what is the problem in remaining..?
2 Kommentare
Azzi Abdelmalek
am 23 Nov. 2014
Bearbeitet: Azzi Abdelmalek
am 23 Nov. 2014
What is the error message?
Nimisha
am 23 Nov. 2014
Akzeptierte Antwort
Weitere Antworten (1)
Azzi Abdelmalek
am 23 Nov. 2014
Bearbeitet: Azzi Abdelmalek
am 23 Nov. 2014
Use curly brackets { }
[~,idx] = sort(in_st{:,2},'descend')
3 Kommentare
Guillaume
am 23 Nov. 2014
Huh? That's not going to work. It'll just convert the 2nd column of the cell array into a comma separated list that sort won't know what to do with.
Nimisha
am 23 Nov. 2014
Azzi Abdelmalek
am 23 Nov. 2014
[~,idx] = sort([in_st{:,2}],'descend')
Kategorien
Mehr zu Operators and Elementary Operations finden Sie in Hilfe-Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!