Generating Professional Two-Dimensional Graphics in MATLAB

Поділитися
Вставка

КОМЕНТАРІ • 41

  • @samblake9953
    @samblake9953 2 місяці тому +1

    This is a really good video that sure beats sifting thru math works documentation for hours! (Not that the documentation is bad, I actually quite like it)

  • @AceYourGRE
    @AceYourGRE 3 роки тому +2

    This video is fantastic, thank you very much for your help and your way of making things intuitive and simple!

  • @jiminaah777
    @jiminaah777 6 місяців тому +1

    can you please make the video on how to draw or convert these into 3d that somewhat shows a real picture kind of thing ..

    • @empossible1577
      @empossible1577  6 місяців тому +1

      Are you talking about like the 3D images here:
      ua-cam.com/video/5bCSq21ktQk/v-deo.htmlsi=s1L8BR-Nvy83WaN7

  • @erayceyhan2453
    @erayceyhan2453 4 місяці тому +1

    Thanks for the informative tutorial. I want to ask something that I couldn't reason. When you construct number of pixels Nx and Ny you said you wanna make them as square as possible and writing the code Ny = round(...). Instead of doing that why didn't you simply write Nx = Ny, did I miss something over here?. Thanks.

    • @empossible1577
      @empossible1577  4 місяці тому

      Great question!
      First, if you are just trying to draw pictures, the techniques I am teaching about ‘Nx’ and Ny are sort of silly. These skills are needed when you are building geometries into arrays for some sort of numerical analysis or simulation. For me, it is electromagnetic simulations and I am building shapes into arrays that I want to simulate electromagnetic waves interacting with. I may have to build a rectangle on the grid that is something like 1.0 cm x 1.32 cm. What grid resolution ‘dx’ and ‘dy’ would I choose for this? To represent both dimensions exactly, I would need dx=dy=0.01 cm to keep the pixels in my array perfectly square. However, that would require a very large array and I could easily run out memory doing it this way. Instead, I will make ‘dx’ and ‘dy’ slightly different numbers so that I can represent 1.0 cm and 1.32 cm with an exact integer number of cells while keeping the pixels as square as possible. For example, I would make dx=0.1 and dy=0.0943. Now I can represent 1.0 cm with exactly 10 cells, 1.32 cm with exactly 14 cells, and the grid has close to square shaped pixels. I may have overstated the need the keep the pixels perfectly square. I have successfully run simulations where the pixels were more than 10:1 stretched. It is just good practice to stay as close to square as possible without worrying about being perfect.
      Hope this makes sense!

    • @erayceyhan2453
      @erayceyhan2453 4 місяці тому +1

      @@empossible1577 Thank you so much for your explanation. In short what I understand is about finding a balance between accuracy and practicality when creating grids for simulations, so you don't use more memory than necessary while still representing the shapes as accurately as possible :)

    • @empossible1577
      @empossible1577  4 місяці тому

      @@erayceyhan2453 I think 99% of computation is trying to fight the accuracy vs efficiency tradeoff. Have fun with it!

  • @williampowell7518
    @williampowell7518 2 роки тому +1

    What Color format does the imagesc function use. How would one convert from RGB for example to the format that is used?

    • @empossible1577
      @empossible1577  2 роки тому

      The RGB formatting you are talking about is probably the jet colormap in MATLAB. It was the default colormap until something like five years ago. The new default colormap is called parula. You can change the colormap using one of the following commands...
      colormap('jet');
      colormap('parula');

    • @williampowell7518
      @williampowell7518 2 роки тому

      @@empossible1577 Ok thanks for your response. Here is what I am trying to do. I have an array of data but it is in the RBG565 format(binary). I want to load the file into MATLAB so that it is displayed however I dont know the format that imagesc accepts.
      from the function description I see where it has just an array of a single value (C), imagesc(C).
      example C=[5 4 5; 3 5 7]. how does those values in the matrix represent color.
      I want to know so that I can convert my values to that format and have MATLAB display the data

    • @empossible1577
      @empossible1577  2 роки тому +1

      @@williampowell7518 Hmmm...I have never done this, but I did find the following information...
      stackoverflow.com/questions/3578265/how-can-i-convert-between-rgb565-and-rgb24-image-formats-in-matlab

  • @MrDp9000
    @MrDp9000 5 місяців тому +1

    Dear Prof.,
    I am following your lectures and I'm learning a lot of new things.
    Just a quick question. Why did we take the FFT and then inverse FFT. I want to understand what did FFT did to the 2d plot and what did inverse FFT did.
    Thanks

    • @empossible1577
      @empossible1577  5 місяців тому +1

      When you calculate the FFT, you are calculating the amplitude of all the frequencies making up the original signal (or image). If you then calculate the inverse FFT, you are back to your original signal (or image). In this algorithm, some of the frequencies are set to zero after the first FFT. This leads to filtered signal (or image) after the inverse FFT. I do this to create low frequency noise.
      If you want to see more that all the Fourier transforms and this noise generating algorithm, checkout Topic 9 here:
      empossible.net/academics/emp4301_5301/

    • @MrDp9000
      @MrDp9000 5 місяців тому +1

      @@empossible1577 thank you prof. for the explanation

  • @matthewbarnes1356
    @matthewbarnes1356 3 роки тому +1

    Hey there, im working on a pcolor plot, and was wondering if you could explain how to make the first row and column serve as the x and y axis. Thanks so much

    • @empossible1577
      @empossible1577  3 роки тому

      Are you trying to draw the axes or just have the first row and column be x=0 and y=0? The general format for a call to pcolor is
      pcolor(x,y,A)
      Here, x and y are arrays containing the position of the points long x and y axes. Simply make it so that both x and y start at zero.
      If you are trying to draw the axes, you will need to call pcolor and then call another function like line() to draw the axes.

    • @matthewbarnes1356
      @matthewbarnes1356 3 роки тому

      @@empossible1577 In the sheet containing all of the data the first column states the time when measurements were taken, the first row states all the wavelengths times were taken. The data is the remainder of the chart. I have been told to use that first column as the Y-axis, and the first row as the X-axis.

    • @empossible1577
      @empossible1577  3 роки тому

      @@matthewbarnes1356 Sounds like you will need to extract the first column into the array y and the first row into the array x. Then extract the data starting at row 2 and column 2 into the array A. Then you can plot it as pcolor(x,y,A).

  • @АлимМухтаровичБеккиев

    You are the best!
    But i have a question... How do I get the grid on the last graph? Grid from selected ticks on X and Y axis

    • @empossible1577
      @empossible1577  3 роки тому

      Take a look at Topic 2 from the course website. That is where I teach all the graphics methods.
      empossible.net/academics/emp4301_5301/

  • @Rainstorm121
    @Rainstorm121 3 роки тому +1

    Thanks Sir. I have produced a subplots of maps (with lats and lon) in two columns on an axis. But there is a big white space between the two columns of subplots. Is there a way to delete this white space in matlab?

    • @empossible1577
      @empossible1577  3 роки тому +1

      Yes, there are several ways. The easiest is the play with the size of your figure window. If that does not work, you can create four subplots, plot in the first two for your first plot and the second two for your second plat. There are also ways to manually define the size and position of each subplot.

  • @adrijade9793
    @adrijade9793 Рік тому +1

    Sir, how can we scale the axis of a contour plot?

  • @FatimaAlsayigh
    @FatimaAlsayigh 4 місяці тому +1

    If i follow these steps can I get an image? If I use data from different node RF? to find an object?

    • @empossible1577
      @empossible1577  4 місяці тому

      The process would be to assemble your data in an array and use a command like imagesc() or pcolor() to image it. I am not sure what "different node RF" is. There is an image processing toolbox available that may make things like object recognition easier. I don't use the toolbox. I am only aware that it exists so I am unsure of the functionality. All that said, you can definitely use MATLAB somehow to find objects in images.

    • @FatimaAlsayigh
      @FatimaAlsayigh 4 місяці тому +1

      @@empossible1577 can you help me pls ihave many question?

    • @empossible1577
      @empossible1577  4 місяці тому

      @@FatimaAlsayigh I can certainly answer quicker questions, but if you need to do any kid of work, I may not be able to help until later September.

    • @FatimaAlsayigh
      @FatimaAlsayigh 4 місяці тому

      @@empossible1577 iwant to know how to use tikhnove or LPP or FBp. With matrix to get image and heat map

  • @nehalvarma8576
    @nehalvarma8576 2 роки тому +1

    Sir, how to create these type of plots from a given dataset(in excel)?? (Sorry, I am new to MATLAB)

    • @empossible1577
      @empossible1577  2 роки тому

      If the data is in Excel, you can import an Excel file into MATLAB using the xlsread() function built into MATLAB. From there, you would plot as described in the video.

    • @nailazaman3558
      @nailazaman3558 Рік тому

      @@empossible1577 I am new to MATLAB and trying to plot data from EXcel. After importing data from excel, can you mention which step should I start from? Do I need to define the "function size", and "generate random function"? or should I start from "Function Axes"?

    • @empossible1577
      @empossible1577  Рік тому

      @@nailazaman3558 I do not know anything about the data you are plotting. Since you already have data, I do not see any need for random function data. Instead of defining the function size, determine the function size from the size of the array read from the Excel file. Never define anything that can be determined or you are setting yourself up for problems if something becomes inconsistent. The next step is probably defining the function axes, and then finally the plotting. Again, it is very hard to say your steps without knowing anything about what you are plotting.

  • @alaaal-jobory6994
    @alaaal-jobory6994 4 роки тому +1

    Hello, it is a very good Lecture, my problem how do the same thing with external file have 2 column x and y?

    • @empossible1577
      @empossible1577  4 роки тому

      What sort of external file? Are you asking how to load the file or format the graphics?

    • @alaaal-jobory6994
      @alaaal-jobory6994 4 роки тому

      @@empossible1577 -0.37 1.974163e+01
      -0.34 -1.743774e+01
      -0.45 -7.923848e+01
      -0.50 1.353119e+01
      -0.85 -7.012825e+01
      -0.31 -4.750114e+01
      -0.43 -7.220450e+01
      -0.49 -7.475068e+01
      -0.48 -7.115190e+01
      -0.41 -2.632539e+01
      -0.24 -1.106730e+01
      -0.58 -8.653299e+01
      -0.74 -3.856418e+01
      -0.37 -3.319859e+01
      -0.58 -8.538624e+01
      -0.80 -7.355718e+01
      -0.90 -5.947275e+01
      -0.81 -4.601984e+01
      -0.83 -5.830147e+01
      -0.78 -4.617531e+01
      -0.57 -6.750198e+01
      -0.65 -7.030725e+01
      -0.53 -6.258158e+01
      -0.73 -6.681263e+01
      -0.73 -7.141510e+01
      -0.86 -8.148636e+01
      -0.68 -8.640184e+01
      -0.51 -5.714105e+01
      -0.43 -1.768872e+01
      -0.90 -4.522189e+01
      -0.87 -8.400792e+01
      -1.16 -4.656557e+01
      -1.08 -1.504589e+01
      -1.23 -2.808902e+01
      -0.79 -8.309950e+01
      -0.89 -4.959167e+01
      -0.85 -5.300033e+01
      -0.93 -6.062692e+01
      -0.77 -6.112564e+01
      -0.67 -9.272722e-01
      -0.44 -5.947116e+01
      -0.56 -5.867817e+01
      -0.63 -7.936987e+01
      -0.55 -7.941028e+01
      -0.28 -1.145137e+01
      -0.66 -9.418415e+01
      -0.67 5.122354e+00
      -0.33 -4.983205e+01
      -0.33 -3.607897e+01
      -0.35 -3.230937e+01
      -0.46 -7.490720e+01
      -0.41 -6.666823e+01
      -0.48 -6.547953e+01
      -0.57 -8.182616e+01
      -0.40 -4.746677e+01
      -0.22 -1.671533e+01
      -0.24 -1.533376e+01
      -0.25 4.541601e+00
      -0.49 -3.846674e+01
      -0.32 3.730436e+00
      i am try to plot this file like your lecture!!!

    • @empossible1577
      @empossible1577  4 роки тому

      @@alaaal-jobory6994 You need to study 1D graphics for this, not 2D graphics. See MATLAB Session 2.2 under Topic 2 here:
      empossible.net/academics/emp4301_5301/

    • @alaaal-jobory6994
      @alaaal-jobory6994 4 роки тому

      @@empossible1577 I am looking for heat map graph for this data? anyway i am going to watch this lecture, thank you so much for the help