I have written some simple methods for a matrix class to do two dimensional problem solving but I'm not sure how to do a replace one matrix's values with another.
Could anybody help please?
I've been trying something likeCode:#include "Matrix.h" #include <iostream> #include <fstream> using namespace std; //constructor Matrix::Matrix(int N) { nelts = N*N; data.resize(nelts); } //destructor Matrix::~Matrix(){} //METHOD Set value of element i, j void Matrix::setValue(int i, int j, int N, double x) { if (i<0 || i >= nelts){ cerr << "Out of bounds.\n"; //error check abort(); } else data[j*N+i] = x; } //METHOD clear the Matrix (set to size zero) void Matrix::clearMat(){ data.clear(); } //METHOD Get value of element i, j double Matrix::getValue(int i, int j, int N) { return data[i + j*N]; } //METHOD print Matrix, takes starting point as arg void Matrix::print(int N){ for (int i=0; i < N; i++) { for (int j=0; j < N; j++) { cout << data[j*N+i] << ","; } cout << endl; } } void Matrix::output(int N){ ofstream stuff; stuff.open ("stuff.csv", ios::app); for (int i=0; i < N; i++) { for (int j=0; j < N; j++) { stuff << data[j*N+i] << ","; } stuff << endl; } stuff.close(); } //METHOD returns size of Matrix int Matrix::getsize(){ int size=data.size(); return size; } void Matrix::viewall(){ for (int i = 0; i <= nelts-1; i++){ cout << data[i] << endl; } }
Code://METHOD returns size of Matrix void Matrix::replace(Matrix &v){ data=v.data; }




Reply With Quote