Skip to content
Snippets Groups Projects
Commit a547df17 authored by James Goppert's avatar James Goppert
Browse files

Further output improvement.

parent b3505fe0
No related branches found
No related tags found
No related merge requests found
......@@ -239,25 +239,30 @@ int main (int argc, char const* argv[])
ss.linearize(x0,u0,y0,A,B,C,D);
std::cout.precision(10);
int width=10;
std::cout.precision(3);
std::cout
<< std::scientific
<< "\nA=\n" << A
<< "\nB=\n" << B
<< "\nC=\n" << C
<< "\nD=\n" << D
<< std::fixed
<< std::right
<< "\nA=\n" << std::setw(width) << A
<< "\nB=\n" << std::setw(width) << B
<< "\nC=\n" << std::setw(width) << C
<< "\nD=\n" << std::setw(width) << D
<< std::endl;
// write scicoslab file
std::ofstream scicos(std::string(aircraft+"_lin.sce").c_str());
scicos.precision(10);
width=20;
scicos
<< std::scientific
<< aircraft << ".x0=..\n" << x0 << ";\n"
<< aircraft << ".u0=..\n" << u0 << ";\n"
<< aircraft << ".sys = syslin('c',..\n" << A << ",..\n"
<< B << ",..\n" << C << ",..\n" << D << ");\n"
<< aircraft << ".x0=..\n" << std::setw(width) << x0 << ";\n"
<< aircraft << ".u0=..\n" << std::setw(width) << u0 << ";\n"
<< aircraft << ".sys = syslin('c',..\n"
<< std::setw(width) << A << ",..\n"
<< std::setw(width) << B << ",..\n"
<< std::setw(width) << C << ",..\n"
<< std::setw(width) << D << ");\n"
<< aircraft << ".tfm = ss2tf(" << aircraft << ".sys);\n"
<< std::endl;
}
......
......@@ -18,6 +18,7 @@
#include "FGStateSpace.h"
#include <limits>
#include <iomanip>
namespace JSBSim
{
......@@ -119,23 +120,23 @@ std::ostream &operator<<( std::ostream &out, const FGStateSpace &ss )
std::ostream &operator<<( std::ostream &out, const std::vector< std::vector<double> > &vec2d )
{
int width = out.width();
int nI = vec2d.size();
out << "[";
out << std::left << std::setw(1) << "[" << std::right;
for (int i=0;i<nI;i++)
{
int nJ = vec2d[i].size();
for (int j=0;j<nJ;j++)
{
out << vec2d[i][j];
if (i==0 && j==0) out << std::setw(width-1) << vec2d[i][j];
else out << std::setw(width) << vec2d[i][j];
if (j==nJ-1)
{
if ( i==nI-1 )
{
out << "]";
}
if ( i==nI-1 ) out << "]";
else out << ";\n";
}
else out << ",\t";
else out << ",";
}
out << "";
}
......@@ -143,15 +144,15 @@ std::ostream &operator<<( std::ostream &out, const std::vector< std::vector<doub
std::ostream &operator<<( std::ostream &out, const std::vector<double> &vec )
{
int width = out.width();
int nI = vec.size();
out << "[";
out << std::left << std::setw(1) << "[" << std::right;
for (int i=0;i<nI;i++)
{
out << vec[i];
if ( i==nI-1 )
{
out << "]";
}
if (i==0) out << std::setw(width-1) << vec[i];
else out << std::setw(width) << vec[i];
if ( i==nI-1 ) out << "]";
else out << ";\n";
}
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment