PIC Vietnam

PIC Vietnam (http://www.picvietnam.com/forum/index.php)
-   Matlab-Simulink & Labview & 20-Sim (http://www.picvietnam.com/forum/forumdisplay.php?f=47)
-   -   1 lệnh trong matlab (http://www.picvietnam.com/forum/showthread.php?t=3230)

polaris2511bk 02-12-2008 02:58 PM

1 lệnh trong matlab
 
em có một ma trận A(6*8)
for i=1:8
if 4>A(1,i)
kq=A(đã bỏ cột i) thì em dùng lệnh gì trong matlab
end
end
thanks nha:)

love_ac 02-12-2008 03:08 PM

bạn thử xem:
kq=A(:,i);
---mà mình thấy bạn viết if 4>A(1,i) nên để thành if A(1,i) <4 cho nó thuận mắt

polaris2511bk 02-12-2008 03:47 PM

ý mình là kq gán bằng matran A(bỏ cột thứ i) đi
chứ không phải kq gán bằng cột thứ i của matranA

namqn 02-12-2008 04:03 PM

Trích:

Nguyên văn bởi polaris2511bk (Post 21058)
ý mình là kq gán bằng matran A(bỏ cột thứ i) đi
chứ không phải kq gán bằng cột thứ i của matranA

Code:

        kq = [];
        for k = 1:8
                if (k ~= i) kq = [kq, A(:, k)];
                end
        end

Thân,

polaris2511bk 02-12-2008 05:03 PM

bài toán của em hơi khác
Code:

B=[1,9,5;6,7,8;3,6,8]
kq=[];
for i=1:3
    if B(1,i)>4
        for k=1:3
            if (k~=i) kq=[kq,B(:,k)];
            end
        end
    end
end
kq

B =

    1    9    5
    6    7    8
    3    6    8


kq =

    1    5    1    9
    6    8    6    7
    3    8    3    6

nếu kết quả đúng sẽ ra kq=[1;6;3];
help me!
thanhks anh namqn nha

namqn 02-12-2008 05:28 PM

Trích:

Nguyên văn bởi polaris2511bk (Post 21062)
bài toán của em hơi khác
Code:

B=[1,9,5;6,7,8;3,6,8]
kq=[];
for i=1:3
    if B(1,i)>4
        for k=1:3
            if (k~=i) kq=[kq,B(:,k)];
            end
        end
    end
end
kq

B =

    1    9    5
    6    7    8
    3    6    8


kq =

    1    5    1    9
    6    8    6    7
    3    8    3    6

nếu kết quả đúng sẽ ra kq=[1;6;3];
help me!
thanhks anh namqn nha

Tại em áp dụng máy móc, lại không nêu rõ mục đích. Đoạn code của anh chạy đúng theo yêu cầu của em ở post #3. Nếu ý đồ của em là chỉ lấy các cột i với B(1, i) <= 4 thì đoạn code sau sẽ thực hiện điều này:
Code:

B=[1,9,5;6,7,8;3,6,8]
kq=[];
for i=1:3
    if B(1,i)<= 4
        kq = [kq, B(:,i)];
    end
end
kq


polaris2511bk 08-12-2008 08:36 AM

Em cảm ơn anh Nam :)
Nhưng thực tế là em ko hiểu sao lại có luồng này do nick của em post nữa. Vì em ko có thời gian login vào diễn đàn cách đây 2 tháng rồi, h thấy mail báo có luồng này mới hết hồn.
Chúc anh tuần mới vui vẻ! :)


Múi giờ GMT. Hiện tại là 07:21 AM.

Tên diễn đàn: vBulletin Version 3.8.11
Được sáng lập bởi Đoàn Hiệp.
Copyright © PIC Vietnam