MATLAB fprintf function

  • MATLAB
  • Thread starter HAL10000
  • Start date
  • #1
21
0
I'm trying to create a table with three separate columns using fprintf(). The first column consists of a height vector h = 0:500:10000 and the second and third columns are part of the matrix Distance.
I've tried looking online and I can't seem to find a way to make the vector and the matrix to print side by side. There are easier ways to obtain this result but the homework problem is telling me to use fprintf(). Please help.

This is the code for the function:


Code:
%--------------------------------------------------------
function [ Distance ] = dist_func( h , r )
% dist_func This function calculates the distance to the horizon
%from various heights on different planets.
Distance = sqrt((2.*r.*h) + h.^2);
end
%--------------------------------------------------------
.... and the program:
Code:
%--------------------------------------------------------
% Homework Problem 1 This program calculates the distance
%to the horizon from different heights on Earth and Mars.
%
% Define the height matrix values in feet.
h = 0:500:10000;
%
% Define the radius values for Earth and Mars in feet.
radius_earth = 3963;
radius_mars = 2108.5;
%
% Define radius matrix in feet
r = [radius_earth;radius_mars];
%
% Create grid containing all height and radius values in feet.
[hg,rg] = meshgrid(r,h);
% Calculate distance for both radii and convert to miles.
Distance = dist_func(hg,rg)*(1/5280);
% Place data into table format
disp('  Height   Distance on Earth    Distance on Mars')
fprintf('%8.2f\n',h); fprintf('%8.2f %8.2f\n',Distance')
The last line is an attempt at making the table.
 
Last edited by a moderator:

Answers and Replies

  • #2
Wrichik Basu
Insights Author
Gold Member
2020 Award
1,628
1,518
Use a for loop to print the matrix elements. For each print statement, separate the matrix entries by tab, \t.
 

Related Threads on MATLAB fprintf function

  • Last Post
Replies
6
Views
9K
Replies
7
Views
6K
Replies
4
Views
841
Replies
5
Views
6K
Replies
2
Views
3K
  • Last Post
Replies
3
Views
2K
  • Last Post
Replies
2
Views
3K
  • Last Post
Replies
1
Views
1K
  • Last Post
Replies
2
Views
6K
  • Last Post
Replies
2
Views
4K
Top