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

  • văn lâm 91
    replied
    ai có bài mô phỏng băng matlab Radio over fiber không cho mình xin với. cảm ơn m.n nhiều nhiều

    Leave a comment:


  • huy1803
    replied
    cho mình hỏi làm sao để đọc được video trực tiếp từ webcame trong mablab 2012b vậy các bạn?
    thank nhiều!

    Leave a comment:


  • Tien.phammta
    replied
    bạn có thể cho mình một ví dụ bằng code matlab được không!

    Leave a comment:


  • Tien.phammta
    replied
    bạn có thể cho mình một ví dụ bằng code matlab được không!

    Leave a comment:


  • mr_bin
    replied
    Em có một chương trình thế này
    function nenanh_callback(filename)
    [filename,pathname]=uigetfile({'*.tif;*.bmp;*.gif;*.jpg'},'pick an image file');
    S=imread([pathname,filename]);
    if size(S,3)==3
    S=rgb2gray(S);
    end
    I= dct2(S);
    T = dctmtx(8);
    B = blkproc(I,[8 8],'P1*x*P2',T,T');
    mask = [16 11 10 16 24 40 51 61
    12 12 14 19 26 58 60 55
    14 13 16 24 40 57 69 56
    14 17 22 29 51 87 80 62
    18 22 37 56 68 109 103 77
    24 35 55 64 81 104 113 92
    49 64 78 87 103 121 120 101
    72 92 95 98 112 100 103 99];
    B2 = blkproc(B,[8 8],'P1.*x ',mask);
    I2 = blkproc(B2,[8 8],'P1*x*P2',T',T);
    imshow(S);
    figure,imshow(I2)
    Yêu cầu của bài là nén ảnh bằng DCT. Cho e hỏi
    1. muốn xem giá trị mà trận thì dùng lệnh gì? Ví dụ ma trận RGB - biểu diễn giá trị pixel của ảnh, hay B2,I2,J... vì em muốn hiểu rõ chương trình.
    2. sau lệnh I2 = blkproc(B2,[8 8],'P1*x*P2',T',T); thì I2 sẽ là ma trận, em muốn hiển thị nó ở dạng ảnh thì làm thế nào?
    3. Bác nào có chương trình nén ảnh nào bằng DCT thì bảo em nha.
    Thanks all!!!

    Leave a comment:


  • buiphuochuy5
    replied
    Nhờ các pro giúp e bài tập thầy cho về làm, e làm thử rồi cũng không biết đúng hay sai, do thầy cho tự kiếm tài liệu để làm, mà e kiếm toàn thấy tài liệu tiếng anh mò mò làm theo, những cũng chưa hiểu hết, mong các pro hướng dẫn giùm e bài này.
    Cho mô hình toán dạng hệ phương trình vi phân của một hệ thống như sau:
    Click image for larger version

Name:	2.png
Views:	1
Size:	11.9 KB
ID:	1394779
    Trong đó,
    Click image for larger version

Name:	3.png
Views:	1
Size:	5.1 KB
ID:	1394780
    Thông số mô phỏng hệ thống:
    l=1m, m=0.402kg, M=1.12kg, N=0.05, J = 0.003863
    Sinh viên hãy xây dựng mô hình simulink cho hệ thống dạng subsystem theo hai cách:
    - Dùng toàn bộ các khối cơ bản. Lưu thành tập tin basic.mdl
    - Dùng fcn – function. Lưu thành tập tin function.mdl
    Input – Output của hệ thống bố trí như sau:
    Click image for larger version

Name:	1.png
Views:	1
Size:	3.3 KB
ID:	1394778

    Leave a comment:


  • tantrung114
    replied
    Nguyên văn bởi bang_bvh Xem bài viết
    cái này loằng ngoằng quá chả muốn sửa, mà muốn sửa cũng không biết thuật toán bạn đang làm như thế nào? Chỉ có thể góp ý để bạn sửa thế này:
    1. các ma trận trong matlab có chỉ số từ 1 trở đi ( không có F(k,0) mà chỉ có F(k,1) trong đó k>=1)
    2. F(k,Pft) mà Pft chạy từ 0 là vô lý
    3 chỉ số F(k,Pft -Pk) nếu Pft=Pk thì cái này =0, chương trình sẽ không thể hiểu được.
    Bạn từ từ mà sửa nhé.
    Hy vọng những góp ý của mình giúp ích cho bạn.
    best regard
    Em thank bác, rứa là cũng mừng rồi, có gì làm phiền bác sau, hi vọng bác sẽ giúp đỡ

    Leave a comment:


  • bang_bvh
    replied
    Nguyên văn bởi tantrung114 Xem bài viết
    Các bác ơi cho em hỏi người nào biết về thuật toán quy hoạch động viết bằng matlab không ? Em đang viết chương trình tính toán liên quan đến thuật toán quy hoạch động nhưng không chạy được. Có đoạn code đây ai pro xem rồi hướng dẫn dùm em cái :
    disp('chuong trinh tinh toan gia dien thi truong dien khau phat')
    n=input('nhap so nha may n:');
    P=input('nhap ma tran cong suat cua n nha may P=');
    Pft= input('nhap cong suat phu tai can mua Pft =');
    T= input('nhap gia tien tuong ung voi tung nguong cong suat T=');
    for k=1:1:n
    Pftmax=0;
    for j=1:1:k
    Pftmax = Pftmax +P(5,j);
    end
    fprintf('pftmax= %d',Pftmax);
    for Pft = 0:1:Pftmax
    for Pk =0:1:P(5,k)
    if Pk <= P(1,k)
    t=T(1,k);
    elseif Pk > P(1,k) && Pk <= P(2,k)
    t=T(2,k);
    elseif Pk > P(2,k) && Pk <= P(3,k)
    t=T(3,k);
    elseif Pk > P(3,k) && Pk <= P(4,k)
    t=T(4,k);
    else
    t=T(5,k);
    end
    fprintf('\n t=%d',t);
    F(k,0)= 0;
    if Pk <=Pft
    F(k,Pft)= t+F(k,Pft-Pk);
    end
    end
    end
    end

    Các bạn chú ý là ma trận P với T là nhập ma trận 5 hàng nhé còn cột thì tùy ý, em thắc mắc ở hàm F(k) tính dựa theo F(k-1) mà máy nó chả hiểu. Ai giúp em với
    cái này loằng ngoằng quá chả muốn sửa, mà muốn sửa cũng không biết thuật toán bạn đang làm như thế nào? Chỉ có thể góp ý để bạn sửa thế này:
    1. các ma trận trong matlab có chỉ số từ 1 trở đi ( không có F(k,0) mà chỉ có F(k,1) trong đó k>=1)
    2. F(k,Pft) mà Pft chạy từ 0 là vô lý
    3 chỉ số F(k,Pft -Pk) nếu Pft=Pk thì cái này =0, chương trình sẽ không thể hiểu được.
    Bạn từ từ mà sửa nhé.
    Hy vọng những góp ý của mình giúp ích cho bạn.
    best regard

    Leave a comment:


  • tantrung114
    replied
    Các bác ơi cho em hỏi người nào biết về thuật toán quy hoạch động viết bằng matlab không ? Em đang viết chương trình tính toán liên quan đến thuật toán quy hoạch động nhưng không chạy được. Có đoạn code đây ai pro xem rồi hướng dẫn dùm em cái :
    disp('chuong trinh tinh toan gia dien thi truong dien khau phat')
    n=input('nhap so nha may n:');
    P=input('nhap ma tran cong suat cua n nha may P=');
    Pft= input('nhap cong suat phu tai can mua Pft =');
    T= input('nhap gia tien tuong ung voi tung nguong cong suat T=');
    for k=1:1:n
    Pftmax=0;
    for j=1:1:k
    Pftmax = Pftmax +P(5,j);
    end
    fprintf('pftmax= %d',Pftmax);
    for Pft = 0:1:Pftmax
    for Pk =0:1:P(5,k)
    if Pk <= P(1,k)
    t=T(1,k);
    elseif Pk > P(1,k) && Pk <= P(2,k)
    t=T(2,k);
    elseif Pk > P(2,k) && Pk <= P(3,k)
    t=T(3,k);
    elseif Pk > P(3,k) && Pk <= P(4,k)
    t=T(4,k);
    else
    t=T(5,k);
    end
    fprintf('\n t=%d',t);
    F(k,0)= 0;
    if Pk <=Pft
    F(k,Pft)= t+F(k,Pft-Pk);
    end
    end
    end
    end

    Các bạn chú ý là ma trận P với T là nhập ma trận 5 hàng nhé còn cột thì tùy ý, em thắc mắc ở hàm F(k) tính dựa theo F(k-1) mà máy nó chả hiểu. Ai giúp em với

    Leave a comment:


  • thanhnshd
    replied
    >> w1=tf([0 1],[1 0])

    Transfer function:
    1
    -
    s

    >> w2=tf([0 100],[0.02 0.3 1])

    Transfer function:
    100
    --------------------
    0.02 s^2 + 0.3 s + 1

    >> w3=0.1

    w3 =

    0.1000

    >> wh=w1*w2

    Transfer function:
    100
    ----------------------
    0.02 s^3 + 0.3 s^2 + s

    >> wk=feedback(wh,w3)

    Transfer function:
    100
    ---------------------------
    0.02 s^3 + 0.3 s^2 + s + 10

    >> step(wk)
    >>

    vâng cám ơn bác bang_bvh. vậy em hỏi thêm em muốn tìm max của hàm truyền trên thì thế nào ạ. và em muốn T ổn định của hệ thống nữa

    Leave a comment:


  • bang_bvh
    replied
    mà bạn xem lại hệ số 80 nhé, mình sửa thành số nhỏ hơn thì chạy được. 80 báo lỗi

    Leave a comment:


  • bang_bvh
    replied
    Nguyên văn bởi thanhnshd Xem bài viết
    Các bác ơi cho em hỏi em muốn vẽ đồ thì phương trình sai phân y(k+1)-80y(k)+50=0 như thế nào ạ? Cám ơn em đang cần học gấp ạ
    không biết có phải ý bạn thế này không?
    y(k+1)=-50+80y(k).
    đây là mô hình simulink. nếu không đúng bạn tìm cách khác vậy
    Click image for larger version

Name:	Untitled.jpg
Views:	1
Size:	12.2 KB
ID:	1394469
    https://www.mediafire.com/?nxn5qhfzjno17de
    best regard

    Leave a comment:


  • thanhnshd
    replied
    Các bác ơi cho em hỏi em muốn vẽ đồ thì phương trình sai phân y(k+1)-80y(k)+50=0 như thế nào ạ? Cám ơn em đang cần học gấp ạ

    Leave a comment:


  • bang_bvh
    replied
    Bạn có thể dùng lệnh fdatool để thiết kế bộ lọc, sau đó lấy các hệ số của bộ lọc để sử dụng. còn nếu làm thủ công có thể làm như sau:
    1. tính fft của x.
    2. thiết kế bộ lọc H(f)=1 từ 0 đến f1. sao cho w0 nằm ngoài khoảng này.
    3. nhân fft(x) với H(f). sau đó biến đổi ngược lại của phần nhận được sẽ được tín hiệu cần thu.
    best regard.

    Leave a comment:


  • Tien.phammta
    replied
    các bạn cho mình hỏi?
    mình muốn lọc tín hiệu bằng bộ lọc thông thấp thì phải làm thế nào trong matlab&
    vd tín hiệu đầu vào có dạng: x=sin(2*w0*t+phi1+phi2)+sin(phi1-phi2)
    tín hiệu đầu ra chỉ còn lại thành phần y=sin(phi1-phi2) đã lọc được thành phần hài bậc cao
    xin cảm ơn cả nhà!

    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