Thông báo

Collapse
No announcement yet.

Tổng hợp các câu hỏi về Matlab - Trả lời ngay

Collapse
This is a sticky topic.
X
X
 
  • Lọc
  • Giờ
  • Show
Clear All
new posts

  • knoor
    replied
    Sau khi mình sửa lại theo bạn thì chương trình như thế này:
    function y=QPSKMap(x)
    N=input('Nhap do dai chuoi bit N:');
    k=1;
    while N>0
    x(k)=rand>0.5;
    N=N-1;
    k=k+1;
    end
    x
    for n=1:N
    for m=1:N/2
    if (x(n)==0)&&(x(n+1)==0)
    y(m)=1/sqrt(2)+(j*1/sqrt(2))
    disp(y(m))
    end
    end
    end
    Bây giờ chạy đã hết lỗi nhưng nó chỉ hiển thị chuỗi x với độ dài N mà mình nhập vào,còn việc chuyển chuỗi x sang chuỗi y thì chưa được,bác nào giúp mình với,2 ngày mà chưa xong bài

    Leave a comment:


  • pk178
    replied
    Chào bạn !

    Chương trình của bạn sai 1 số chỗ như sau :


    function y=QPSKMap(x)
    Có lẽ bạn định viết chương trình trong M-file, nếu như vậy thì bạn phải đặt dòng này là dòng đầu tiên trong M-file, theo mình nghĩ thì nên bỏ dòng này đi.

    if (x(n)==0,x(n+1)==0)
    Đoạn này phải sửa thành

    Code:
    if (x(n)==0)&&(x(n+1)==0)

    disp('y(m)=1/sqrt(2)+(j*1/sqrt(2))')
    Chắc bạn muốn hiển thị y(m), như vậy thì phải bỏ 2 dấu nháy đơn đi, hơn nữa,bạn phải tính cụ thể ra ngoài rồi mới dùng disp, chứ không thể gộp lại như thể được đâu, ví dụ như sau :

    Code:
    ....
    y(m)=1/sqrt(2)+(j*1/sqrt(2))
    disp(y(m))
    ....
    Chúc bạn thành công !

    Leave a comment:


  • knoor
    replied
    Em mới học matlab,có bài toán này nghĩ mãi mà vẫn bị lỗi,các bác giúp em với
    Đề bài là tạo 1 hàm y=f(x) với x là 1 chuỗi ngẫu nhiên 1 và 0 gồm N bit,hàm f thực hiện kiểm tra từng cặp 2 bit liên tiếp x(n) và x(n+1) rồi biến đổi như sau
    x(n)x(n+1)=00 thì y(m)=1/sqrt(2) + j*1/sqrt(2)
    x(n)x(n+1)=01 thì y(m)=-1/sqrt(2) + j*1/sqrt(2)
    x(n)x(n+1)=10 thì y(m)=-1/sqrt(2) - j*1/sqrt(2)
    x(n)x(n+1)=11 thì y(m)=1/sqrt(2) - j*1/sqrt(2)
    Với n=1,2..N và m=1,2..N/2

    Ở bài toán này em đã tạo được chuỗi x và biết cách dùng hàm if,elseif và else cho 4 điều kiện trên nhưng viết mà cứ bị lỗi,mong các bác xem và chỉ bảo dùm em,em post lên 1 đoạn em viết cho 1 điều kiện đầu tiên:

    clear all
    N=input('Nhap do dai chuoi bit N:');
    k=1;
    while N>0
    x(k)=rand>0.5;
    N=N-1;
    k=k+1;
    end
    x
    function y=QPSKMap(x)
    for n=1:N
    for m=1:N/2
    if (x(n)==0,x(n+1)==0)
    disp('y(m)=1/sqrt(2)+(j*1/sqrt(2))')
    end
    end
    end

    Các bác sửa dùm em với,với cả lúc chạy em bị cái lỗi này ko hiểu là gì:Strings passed to EVAL cannot contain function declarations.
    Mong các bác giải đáp dùm.thx

    Leave a comment:


  • pk178
    replied
    Nguyên văn bởi manbatuo1 Xem bài viết
    Bài tập lớn Matlab.
    Các anh giúp em một chỗ được không.
    Đề bài làùng matlab giải một mạch điên có 2 nút và n nhánh (n nhập tù bàn phím.n tuy ý ,n>2 va la số tự nhiên).Em đang không biết lập một ma trận cấp n.Giả sư nhập n = 5.thi đưa ra ma trận n hàng và 2 cột nếu giải theo phương pháp điện thế nút.(bỏ qua hỗ cảm).Tương tự khi n la một số bất kỳ.Mong ai đó biết va chỉ bảo!thank !
    Chào bạn !

    Có phải bạn học ĐH CNHN không? Bài này nghe quen quen

    Thế này nhé, trong tất cả các sách về matlab để có nói tới việc tạo và sử dụng ma trận, matlab là công cụ hỗ trợ về ma trận rất mạnh. Về việc tạo ma trận như bạn nói, bạn có thể sử dụng những lệnh như eye, ones, zeros, rand... Bạn đọc phần help của matlab cũng sẽ thấy cách sử dụng các lệnh này.

    Mạch điện có 2 nút thì giải theo phương pháp điện thế nút là nhanh nhất rồi, chúc bạn thành công !

    Leave a comment:


  • sugus
    replied
    Giúp em với các anh ơi! Attempt to reference field of non-structure array erro

    Em viết chương trình GUIE trong MatLab.
    Khi em dùng Guide chạy chương trình thì không hề có lỗi.

    Khi em đóng Guide vào và dùng lệnh trong Command Window gọi RadioButton.fig thì chương trình luôn báo lỗi! Hic!



    ??? Attempt to reference field of non-structure array.

    Error in ==> RadioButton>uipanel1_SelectionChangeFcn at 78
    if hObject == handles.an

    Error in ==> gui_mainfcn at 96
    feval(varargin{:});

    Error in ==> RadioButton at 42
    gui_mainfcn(gui_State, varargin{:});

    Error in ==> hgfeval at 65
    evalin('base', fcn);

    Error in ==> uitools.uibuttongroup.childAddedCbk>manageButtons at 80
    hgfeval(cbk, source, evdata);




    Em mới sử dụng Matlab thôi! các em giúp em giải quyết lỗi này với!

    Leave a comment:


  • congdatquan
    replied
    Tôi khuyên anh em muốn hỏi gì thì chỉ nên hỏi một phần nho nhỏ thôi.nếu không tự mình làm thì khó lắm.nhờ người khác.người ta cũng bận.nếu làm lâu mà không hiểu thì chấp nhận được.chứ chưa làm mà đã hỏi thì không thể nào.Forum để mọi người giúp đỡ nhau chứ không phải để nhờ làm hộ cả một cái đồ án hay cat một bài tập lớn

    Leave a comment:


  • linhmoidt
    replied
    Xin chào các bác,
    Em hiện đang dùng matlab để thực hiện gom cụm dữ liệu (data clustering), khi dùng em phát hiện ra là khi em load file dữ liệu ma trận khoảng 50.000x50 thì Matlab báo lỗi tràn bộ nhớ (cũng phải rồi, vì lớn quá).
    Em không biết trường hợp này cần phải làm như thế nào để giải quyết. Nhờ bác nào có kinh nghiệm chỉ hộ em với.
    Cám ơn nhiều.

    Leave a comment:


  • manbatuo1
    replied
    Bài tập lớn Matlab.
    Các anh giúp em một chỗ được không.
    Đề bài làùng matlab giải một mạch điên có 2 nút và n nhánh (n nhập tù bàn phím.n tuy ý ,n>2 va la số tự nhiên).Em đang không biết lập một ma trận cấp n.Giả sư nhập n = 5.thi đưa ra ma trận n hàng và 2 cột nếu giải theo phương pháp điện thế nút.(bỏ qua hỗ cảm).Tương tự khi n la một số bất kỳ.Mong ai đó biết va chỉ bảo!thank !

    Leave a comment:


  • SemperInMotu
    replied
    Nguyên văn bởi hiepsinam Xem bài viết
    mình có đoạn code đại loại như sau
    ...
    trong trường hợp này lệnh hold on hình nhw mất tác dụng, hình vẽ ra chỉ có hình của dòng lệnh set(h,'XData',e,'YData',f) Vậy làm thế nào để vẫn giữ lại hình của lệnh h=plot(x,y,'b') trên? Thanks
    Bạn thử lại với đoạn code sau:

    Code:
    clear all
    r = 5;
    a=1;
    b=2;
    c=3;
    d=4;
    phi = 0:0.01:2*pi;
    x = r*sin(phi)+a;
    y = r*cos(phi)+b;
    e = r*sin(phi)+c;
    f = r*cos(phi)+d;
    h=plot(x,y,'b');
    hold on
    plot(e, f);
    % set(h,'XData',e,'YData',f)
    axis equal
    Không biết có đúng ý bạn không? Nếu không đúng thì bạn giải thích rõ yêu cầu hơn nhé. Chúc vui.

    Leave a comment:


  • VNarmy
    replied
    À vớ đc bạn Bắc đây rồi. Cho mình hỏi cái, khi dùng cái Fuzzy Logic Controller có cách nào cho nó tự load file FIS ra ko. Chứ mỗi lần muốn chạy lại phải load lại file FIS thì ko ổn lắm nhỉ.

    Leave a comment:


  • mirrors0710
    replied

    Leave a comment:


  • mirrors0710
    replied
    a ngo hai bac oi. a xem ho e cai nay dc khong.e da tinh toan cac thong so rui nhung khong ra duoc dac tinh nhu yeu cau.e dang lam ve pham mo phong dong bo toc do vaf momen.e da xem ot so bai mophong matlap.nhung cai khoi step e khoanh mau do la khoi from file co ten :tin_hieu.mat.no co anh huong nhieu lam khong? e mo phog mai ma khong ra duoc nhu y.kho wa lam on giup e

    Leave a comment:


  • hiepsinam
    replied
    mình có đoạn code đại loại như sau

    clear all
    r = 5;
    a=1;
    b=2;
    c=3;
    d=4;
    phi = 0:0.01:2*pi;
    x = r*sin(phi)+a;
    y = r*cos(phi)+b;
    e = r*sin(phi)+c;
    f = r*cos(phi)+d;
    h=plot(x,y,'b')
    hold on
    set(h,'XData',e,'YData',f)
    axis equal

    trong trường hợp này lệnh hold on hình nhw mất tác dụng, hình vẽ ra chỉ có hình của dòng lệnh set(h,'XData',e,'YData',f) Vậy làm thế nào để vẫn giữ lại hình của lệnh h=plot(x,y,'b') trên? Thanks

    Leave a comment:


  • nhim175
    replied
    chán quá nhỉ, sao forum lớn thế này mà vắng như chùa bà Đanh vậy

    Leave a comment:


  • nhim175
    replied
    hic, chả có ai giúp được em sao T.T

    Leave a comment:

Về tác giả

Collapse

ngohaibac Tìm hiểu thêm về ngohaibac

Bài viết mới nhất

Collapse

Đang tải...
X