SIT172: Finding Best Runway Position - Programming Assignment 2
VerifiedAdded on 2023/01/18
|12
|4067
|51
Practical Assignment
AI Summary
This document presents a C programming solution for SIT172 Assignment 2, a practical assignment focused on mechanical engineering principles. The assignment requires students to develop a program to determine the optimal location for an airport runway within a specified area, using an altitude map as the primary data source. The provided C code incorporates functions for calculating medians and utilizes provided data to analyze and optimize runway placement. The solution demonstrates the application of programming skills to solve a real-world engineering problem, including data processing and algorithmic implementation. The code includes necessary header files, function declarations, and definitions for the `assign2` function, along with supporting functions for median calculations. This assignment is designed to test the student's ability to apply programming concepts to solve an engineering challenge. The solution provided on Desklib offers a comprehensive understanding of the problem and its practical solution.

Assignment two Template
Name:
Due Date:
Course Code:
Date:
/* Include Files */
#include <string.h>
#include "rt_nonfinite.h"
#include "assign2.h"
/* Function Declarations */
static double b_median(const double x[31]);
static int b_thirdOfFive(const double v[31], int ia, int ib);
static double median(const double x[9]);
static int thirdOfFive(const double v[9], int ia, int ib);
/* Function Definitions */
/*
* Arguments : const double x[31]
* Return Type : double
*/
static double b_median(const double x[31])
{
double y;
int k;
int exitg1;
double unusedU3[31];
int ipiv;
int ia;
int ib;
int ilast;
int oldnv;
boolean_T checkspeed;
boolean_T isslow;
boolean_T exitg2;
double vref;
double vk;
boolean_T guard1 = false;
int a;
int ngroupsof5;
int nlast;
k = 1;
do {
exitg1 = 0;
if (k < 32) {
if (rtIsNaN(x[k - 1])) {
y = rtNaN;
exitg1 = 1;
} else {
k++;
}
} else {
memcpy(&unusedU3[0], &x[0], 31U * sizeof(double));
ipiv = 15;
ia = 0;
ib = 30;
ilast = 30;
Name:
Due Date:
Course Code:
Date:
/* Include Files */
#include <string.h>
#include "rt_nonfinite.h"
#include "assign2.h"
/* Function Declarations */
static double b_median(const double x[31]);
static int b_thirdOfFive(const double v[31], int ia, int ib);
static double median(const double x[9]);
static int thirdOfFive(const double v[9], int ia, int ib);
/* Function Definitions */
/*
* Arguments : const double x[31]
* Return Type : double
*/
static double b_median(const double x[31])
{
double y;
int k;
int exitg1;
double unusedU3[31];
int ipiv;
int ia;
int ib;
int ilast;
int oldnv;
boolean_T checkspeed;
boolean_T isslow;
boolean_T exitg2;
double vref;
double vk;
boolean_T guard1 = false;
int a;
int ngroupsof5;
int nlast;
k = 1;
do {
exitg1 = 0;
if (k < 32) {
if (rtIsNaN(x[k - 1])) {
y = rtNaN;
exitg1 = 1;
} else {
k++;
}
} else {
memcpy(&unusedU3[0], &x[0], 31U * sizeof(double));
ipiv = 15;
ia = 0;
ib = 30;
ilast = 30;
Paraphrase This Document
Need a fresh take? Get an instant paraphrase of this document with our AI Paraphraser

oldnv = 31;
checkspeed = false;
isslow = false;
exitg2 = false;
while ((!exitg2) && (ia + 1 < ib + 1)) {
vref = unusedU3[ipiv];
unusedU3[ipiv] = unusedU3[ib];
unusedU3[ib] = vref;
ilast = ia;
ipiv = -1;
for (k = ia; k < ib; k++) {
vk = unusedU3[k];
if (unusedU3[k] == vref) {
unusedU3[k] = unusedU3[ilast];
unusedU3[ilast] = vk;
ipiv++;
ilast++;
} else {
if (unusedU3[k] < vref) {
unusedU3[k] = unusedU3[ilast];
unusedU3[ilast] = vk;
ilast++;
}
}
}
unusedU3[ib] = unusedU3[ilast];
unusedU3[ilast] = vref;
guard1 = false;
if (16 <= ilast + 1) {
if (16 >= ilast - ipiv) {
exitg2 = true;
} else {
ib = ilast - 1;
guard1 = true;
}
} else {
ia = ilast + 1;
guard1 = true;
}
if (guard1) {
a = (ib - ia) + 1;
if (checkspeed) {
isslow = (a > oldnv / 2);
oldnv = a;
}
checkspeed = !checkspeed;
if (isslow) {
while (a > 1) {
ngroupsof5 = a / 5;
nlast = a - ngroupsof5 * 5;
a = ngroupsof5;
for (k = -1; k + 2 <= ngroupsof5; k++) {
ipiv = (ia + (k + 1) * 5) + 1;
ipiv = b_thirdOfFive(unusedU3, ipiv, ipiv + 4) - 1;
ilast = (ia + k) + 1;
vref = unusedU3[ilast];
unusedU3[ilast] = unusedU3[ipiv];
checkspeed = false;
isslow = false;
exitg2 = false;
while ((!exitg2) && (ia + 1 < ib + 1)) {
vref = unusedU3[ipiv];
unusedU3[ipiv] = unusedU3[ib];
unusedU3[ib] = vref;
ilast = ia;
ipiv = -1;
for (k = ia; k < ib; k++) {
vk = unusedU3[k];
if (unusedU3[k] == vref) {
unusedU3[k] = unusedU3[ilast];
unusedU3[ilast] = vk;
ipiv++;
ilast++;
} else {
if (unusedU3[k] < vref) {
unusedU3[k] = unusedU3[ilast];
unusedU3[ilast] = vk;
ilast++;
}
}
}
unusedU3[ib] = unusedU3[ilast];
unusedU3[ilast] = vref;
guard1 = false;
if (16 <= ilast + 1) {
if (16 >= ilast - ipiv) {
exitg2 = true;
} else {
ib = ilast - 1;
guard1 = true;
}
} else {
ia = ilast + 1;
guard1 = true;
}
if (guard1) {
a = (ib - ia) + 1;
if (checkspeed) {
isslow = (a > oldnv / 2);
oldnv = a;
}
checkspeed = !checkspeed;
if (isslow) {
while (a > 1) {
ngroupsof5 = a / 5;
nlast = a - ngroupsof5 * 5;
a = ngroupsof5;
for (k = -1; k + 2 <= ngroupsof5; k++) {
ipiv = (ia + (k + 1) * 5) + 1;
ipiv = b_thirdOfFive(unusedU3, ipiv, ipiv + 4) - 1;
ilast = (ia + k) + 1;
vref = unusedU3[ilast];
unusedU3[ilast] = unusedU3[ipiv];

unusedU3[ipiv] = vref;
}
if (nlast > 0) {
ipiv = (ia + ngroupsof5 * 5) + 1;
ipiv = b_thirdOfFive(unusedU3, ipiv, (ipiv + nlast) - 1) -
1;
ilast = ia + ngroupsof5;
vref = unusedU3[ilast];
unusedU3[ilast] = unusedU3[ipiv];
unusedU3[ipiv] = vref;
a = ngroupsof5 + 1;
}
}
} else {
if (a >= 3) {
ipiv = ia + (a - 1) / 2;
if (unusedU3[ia] < unusedU3[ipiv]) {
if (unusedU3[ipiv] < unusedU3[ib]) {
} else if (unusedU3[ia] < unusedU3[ib]) {
ipiv = ib;
} else {
ipiv = ia;
}
} else if (unusedU3[ia] < unusedU3[ib]) {
ipiv = ia;
} else {
if (unusedU3[ipiv] < unusedU3[ib]) {
ipiv = ib;
}
}
if (ipiv + 1 > ia + 1) {
vref = unusedU3[ia];
unusedU3[ia] = unusedU3[ipiv];
unusedU3[ipiv] = vref;
}
}
}
ipiv = ia;
ilast = ib;
}
}
y = unusedU3[ilast];
exitg1 = 1;
}
} while (exitg1 == 0);
return y;
}
/*
* Arguments : const double v[31]
* int ia
* int ib
* Return Type : int
*/
static int b_thirdOfFive(const double v[31], int ia, int ib)
}
if (nlast > 0) {
ipiv = (ia + ngroupsof5 * 5) + 1;
ipiv = b_thirdOfFive(unusedU3, ipiv, (ipiv + nlast) - 1) -
1;
ilast = ia + ngroupsof5;
vref = unusedU3[ilast];
unusedU3[ilast] = unusedU3[ipiv];
unusedU3[ipiv] = vref;
a = ngroupsof5 + 1;
}
}
} else {
if (a >= 3) {
ipiv = ia + (a - 1) / 2;
if (unusedU3[ia] < unusedU3[ipiv]) {
if (unusedU3[ipiv] < unusedU3[ib]) {
} else if (unusedU3[ia] < unusedU3[ib]) {
ipiv = ib;
} else {
ipiv = ia;
}
} else if (unusedU3[ia] < unusedU3[ib]) {
ipiv = ia;
} else {
if (unusedU3[ipiv] < unusedU3[ib]) {
ipiv = ib;
}
}
if (ipiv + 1 > ia + 1) {
vref = unusedU3[ia];
unusedU3[ia] = unusedU3[ipiv];
unusedU3[ipiv] = vref;
}
}
}
ipiv = ia;
ilast = ib;
}
}
y = unusedU3[ilast];
exitg1 = 1;
}
} while (exitg1 == 0);
return y;
}
/*
* Arguments : const double v[31]
* int ia
* int ib
* Return Type : int
*/
static int b_thirdOfFive(const double v[31], int ia, int ib)
⊘ This is a preview!⊘
Do you want full access?
Subscribe today to unlock all pages.

Trusted by 1+ million students worldwide

{
int im;
int b_j1;
int j2;
int j3;
int j4;
int j5;
double v4;
double v5;
if ((ia == ib) || (ia + 1 == ib)) {
im = ia;
} else if ((ia + 2 == ib) || (ia + 3 == ib)) {
if (v[ia - 1] < v[ia]) {
if (v[ia] < v[ia + 1]) {
im = ia + 1;
} else if (v[ia - 1] < v[ia + 1]) {
im = ia + 2;
} else {
im = ia;
}
} else if (v[ia - 1] < v[ia + 1]) {
im = ia;
} else if (v[ia] < v[ia + 1]) {
im = ia + 2;
} else {
im = ia + 1;
}
} else {
if (v[ia - 1] < v[ia]) {
if (v[ia] < v[ia + 1]) {
b_j1 = ia;
j2 = ia;
j3 = ia + 2;
} else if (v[ia - 1] < v[ia + 1]) {
b_j1 = ia;
j2 = ia + 1;
j3 = ia + 1;
} else {
b_j1 = ia + 2;
j2 = ia - 1;
j3 = ia + 1;
}
} else if (v[ia - 1] < v[ia + 1]) {
b_j1 = ia + 1;
j2 = ia - 1;
j3 = ia + 2;
} else if (v[ia] < v[ia + 1]) {
b_j1 = ia + 1;
j2 = ia + 1;
j3 = ia;
} else {
b_j1 = ia + 2;
j2 = ia;
j3 = ia;
}
j4 = ia;
j5 = ia + 1;
v4 = v[ia + 2];
v5 = v[ia + 3];
if (v[ia + 3] < v[ia + 2]) {
int im;
int b_j1;
int j2;
int j3;
int j4;
int j5;
double v4;
double v5;
if ((ia == ib) || (ia + 1 == ib)) {
im = ia;
} else if ((ia + 2 == ib) || (ia + 3 == ib)) {
if (v[ia - 1] < v[ia]) {
if (v[ia] < v[ia + 1]) {
im = ia + 1;
} else if (v[ia - 1] < v[ia + 1]) {
im = ia + 2;
} else {
im = ia;
}
} else if (v[ia - 1] < v[ia + 1]) {
im = ia;
} else if (v[ia] < v[ia + 1]) {
im = ia + 2;
} else {
im = ia + 1;
}
} else {
if (v[ia - 1] < v[ia]) {
if (v[ia] < v[ia + 1]) {
b_j1 = ia;
j2 = ia;
j3 = ia + 2;
} else if (v[ia - 1] < v[ia + 1]) {
b_j1 = ia;
j2 = ia + 1;
j3 = ia + 1;
} else {
b_j1 = ia + 2;
j2 = ia - 1;
j3 = ia + 1;
}
} else if (v[ia - 1] < v[ia + 1]) {
b_j1 = ia + 1;
j2 = ia - 1;
j3 = ia + 2;
} else if (v[ia] < v[ia + 1]) {
b_j1 = ia + 1;
j2 = ia + 1;
j3 = ia;
} else {
b_j1 = ia + 2;
j2 = ia;
j3 = ia;
}
j4 = ia;
j5 = ia + 1;
v4 = v[ia + 2];
v5 = v[ia + 3];
if (v[ia + 3] < v[ia + 2]) {
Paraphrase This Document
Need a fresh take? Get an instant paraphrase of this document with our AI Paraphraser

j4 = ia + 1;
j5 = ia;
v5 = v[ia + 2];
v4 = v[ia + 3];
}
if (v5 < v[b_j1 - 1]) {
im = b_j1;
} else if (v5 < v[j2]) {
im = j5 + 3;
} else if (v4 < v[j2]) {
im = j2 + 1;
} else if (v4 < v[j3 - 1]) {
im = j4 + 3;
} else {
im = j3;
}
}
return im;
}
/*
* Arguments : const double x[9]
* Return Type : double
*/
static double median(const double x[9])
{
double y;
int k;
int exitg1;
double unusedU3[9];
int ipiv;
int ia;
int ib;
int ilast;
int oldnv;
boolean_T checkspeed;
boolean_T isslow;
boolean_T exitg2;
double vref;
double vk;
boolean_T guard1 = false;
int a;
int ngroupsof5;
int nlast;
k = 1;
do {
exitg1 = 0;
if (k < 10) {
if (rtIsNaN(x[k - 1])) {
y = rtNaN;
exitg1 = 1;
} else {
k++;
}
} else {
memcpy(&unusedU3[0], &x[0], 9U * sizeof(double));
ipiv = 4;
ia = 0;
j5 = ia;
v5 = v[ia + 2];
v4 = v[ia + 3];
}
if (v5 < v[b_j1 - 1]) {
im = b_j1;
} else if (v5 < v[j2]) {
im = j5 + 3;
} else if (v4 < v[j2]) {
im = j2 + 1;
} else if (v4 < v[j3 - 1]) {
im = j4 + 3;
} else {
im = j3;
}
}
return im;
}
/*
* Arguments : const double x[9]
* Return Type : double
*/
static double median(const double x[9])
{
double y;
int k;
int exitg1;
double unusedU3[9];
int ipiv;
int ia;
int ib;
int ilast;
int oldnv;
boolean_T checkspeed;
boolean_T isslow;
boolean_T exitg2;
double vref;
double vk;
boolean_T guard1 = false;
int a;
int ngroupsof5;
int nlast;
k = 1;
do {
exitg1 = 0;
if (k < 10) {
if (rtIsNaN(x[k - 1])) {
y = rtNaN;
exitg1 = 1;
} else {
k++;
}
} else {
memcpy(&unusedU3[0], &x[0], 9U * sizeof(double));
ipiv = 4;
ia = 0;

ib = 8;
ilast = 8;
oldnv = 9;
checkspeed = false;
isslow = false;
exitg2 = false;
while ((!exitg2) && (ia + 1 < ib + 1)) {
vref = unusedU3[ipiv];
unusedU3[ipiv] = unusedU3[ib];
unusedU3[ib] = vref;
ilast = ia;
ipiv = -1;
for (k = ia; k < ib; k++) {
vk = unusedU3[k];
if (unusedU3[k] == vref) {
unusedU3[k] = unusedU3[ilast];
unusedU3[ilast] = vk;
ipiv++;
ilast++;
} else {
if (unusedU3[k] < vref) {
unusedU3[k] = unusedU3[ilast];
unusedU3[ilast] = vk;
ilast++;
}
}
}
unusedU3[ib] = unusedU3[ilast];
unusedU3[ilast] = vref;
guard1 = false;
if (5 <= ilast + 1) {
if (5 >= ilast - ipiv) {
exitg2 = true;
} else {
ib = ilast - 1;
guard1 = true;
}
} else {
ia = ilast + 1;
guard1 = true;
}
if (guard1) {
a = (ib - ia) + 1;
if (checkspeed) {
isslow = (a > oldnv / 2);
oldnv = a;
}
checkspeed = !checkspeed;
if (isslow) {
while (a > 1) {
ngroupsof5 = a / 5;
nlast = a - ngroupsof5 * 5;
a = ngroupsof5;
for (k = -1; k + 2 <= ngroupsof5; k++) {
ipiv = (ia + (k + 1) * 5) + 1;
ipiv = thirdOfFive(unusedU3, ipiv, ipiv + 4) - 1;
ilast = (ia + k) + 1;
ilast = 8;
oldnv = 9;
checkspeed = false;
isslow = false;
exitg2 = false;
while ((!exitg2) && (ia + 1 < ib + 1)) {
vref = unusedU3[ipiv];
unusedU3[ipiv] = unusedU3[ib];
unusedU3[ib] = vref;
ilast = ia;
ipiv = -1;
for (k = ia; k < ib; k++) {
vk = unusedU3[k];
if (unusedU3[k] == vref) {
unusedU3[k] = unusedU3[ilast];
unusedU3[ilast] = vk;
ipiv++;
ilast++;
} else {
if (unusedU3[k] < vref) {
unusedU3[k] = unusedU3[ilast];
unusedU3[ilast] = vk;
ilast++;
}
}
}
unusedU3[ib] = unusedU3[ilast];
unusedU3[ilast] = vref;
guard1 = false;
if (5 <= ilast + 1) {
if (5 >= ilast - ipiv) {
exitg2 = true;
} else {
ib = ilast - 1;
guard1 = true;
}
} else {
ia = ilast + 1;
guard1 = true;
}
if (guard1) {
a = (ib - ia) + 1;
if (checkspeed) {
isslow = (a > oldnv / 2);
oldnv = a;
}
checkspeed = !checkspeed;
if (isslow) {
while (a > 1) {
ngroupsof5 = a / 5;
nlast = a - ngroupsof5 * 5;
a = ngroupsof5;
for (k = -1; k + 2 <= ngroupsof5; k++) {
ipiv = (ia + (k + 1) * 5) + 1;
ipiv = thirdOfFive(unusedU3, ipiv, ipiv + 4) - 1;
ilast = (ia + k) + 1;
⊘ This is a preview!⊘
Do you want full access?
Subscribe today to unlock all pages.

Trusted by 1+ million students worldwide

vref = unusedU3[ilast];
unusedU3[ilast] = unusedU3[ipiv];
unusedU3[ipiv] = vref;
}
if (nlast > 0) {
ipiv = (ia + ngroupsof5 * 5) + 1;
ipiv = thirdOfFive(unusedU3, ipiv, (ipiv + nlast) - 1) - 1;
ilast = ia + ngroupsof5;
vref = unusedU3[ilast];
unusedU3[ilast] = unusedU3[ipiv];
unusedU3[ipiv] = vref;
a = ngroupsof5 + 1;
}
}
} else {
if (a >= 3) {
ipiv = ia + (a - 1) / 2;
if (unusedU3[ia] < unusedU3[ipiv]) {
if (unusedU3[ipiv] < unusedU3[ib]) {
} else if (unusedU3[ia] < unusedU3[ib]) {
ipiv = ib;
} else {
ipiv = ia;
}
} else if (unusedU3[ia] < unusedU3[ib]) {
ipiv = ia;
} else {
if (unusedU3[ipiv] < unusedU3[ib]) {
ipiv = ib;
}
}
if (ipiv + 1 > ia + 1) {
vref = unusedU3[ia];
unusedU3[ia] = unusedU3[ipiv];
unusedU3[ipiv] = vref;
}
}
}
ipiv = ia;
ilast = ib;
}
}
y = unusedU3[ilast];
exitg1 = 1;
}
} while (exitg1 == 0);
return y;
}
/*
* Arguments : const double v[9]
* int ia
* int ib
* Return Type : int
*/
unusedU3[ilast] = unusedU3[ipiv];
unusedU3[ipiv] = vref;
}
if (nlast > 0) {
ipiv = (ia + ngroupsof5 * 5) + 1;
ipiv = thirdOfFive(unusedU3, ipiv, (ipiv + nlast) - 1) - 1;
ilast = ia + ngroupsof5;
vref = unusedU3[ilast];
unusedU3[ilast] = unusedU3[ipiv];
unusedU3[ipiv] = vref;
a = ngroupsof5 + 1;
}
}
} else {
if (a >= 3) {
ipiv = ia + (a - 1) / 2;
if (unusedU3[ia] < unusedU3[ipiv]) {
if (unusedU3[ipiv] < unusedU3[ib]) {
} else if (unusedU3[ia] < unusedU3[ib]) {
ipiv = ib;
} else {
ipiv = ia;
}
} else if (unusedU3[ia] < unusedU3[ib]) {
ipiv = ia;
} else {
if (unusedU3[ipiv] < unusedU3[ib]) {
ipiv = ib;
}
}
if (ipiv + 1 > ia + 1) {
vref = unusedU3[ia];
unusedU3[ia] = unusedU3[ipiv];
unusedU3[ipiv] = vref;
}
}
}
ipiv = ia;
ilast = ib;
}
}
y = unusedU3[ilast];
exitg1 = 1;
}
} while (exitg1 == 0);
return y;
}
/*
* Arguments : const double v[9]
* int ia
* int ib
* Return Type : int
*/
Paraphrase This Document
Need a fresh take? Get an instant paraphrase of this document with our AI Paraphraser

static int thirdOfFive(const double v[9], int ia, int ib)
{
int im;
int b_j1;
int j2;
int j3;
int j4;
int j5;
double v4;
double v5;
if ((ia == ib) || (ia + 1 == ib)) {
im = ia;
} else if ((ia + 2 == ib) || (ia + 3 == ib)) {
if (v[ia - 1] < v[ia]) {
if (v[ia] < v[ia + 1]) {
im = ia + 1;
} else if (v[ia - 1] < v[ia + 1]) {
im = ia + 2;
} else {
im = ia;
}
} else if (v[ia - 1] < v[ia + 1]) {
im = ia;
} else if (v[ia] < v[ia + 1]) {
im = ia + 2;
} else {
im = ia + 1;
}
} else {
if (v[ia - 1] < v[ia]) {
if (v[ia] < v[ia + 1]) {
b_j1 = ia;
j2 = ia;
j3 = ia + 2;
} else if (v[ia - 1] < v[ia + 1]) {
b_j1 = ia;
j2 = ia + 1;
j3 = ia + 1;
} else {
b_j1 = ia + 2;
j2 = ia - 1;
j3 = ia + 1;
}
} else if (v[ia - 1] < v[ia + 1]) {
b_j1 = ia + 1;
j2 = ia - 1;
j3 = ia + 2;
} else if (v[ia] < v[ia + 1]) {
b_j1 = ia + 1;
j2 = ia + 1;
j3 = ia;
} else {
b_j1 = ia + 2;
j2 = ia;
j3 = ia;
}
j4 = ia;
j5 = ia + 1;
v4 = v[ia + 2];
v5 = v[ia + 3];
{
int im;
int b_j1;
int j2;
int j3;
int j4;
int j5;
double v4;
double v5;
if ((ia == ib) || (ia + 1 == ib)) {
im = ia;
} else if ((ia + 2 == ib) || (ia + 3 == ib)) {
if (v[ia - 1] < v[ia]) {
if (v[ia] < v[ia + 1]) {
im = ia + 1;
} else if (v[ia - 1] < v[ia + 1]) {
im = ia + 2;
} else {
im = ia;
}
} else if (v[ia - 1] < v[ia + 1]) {
im = ia;
} else if (v[ia] < v[ia + 1]) {
im = ia + 2;
} else {
im = ia + 1;
}
} else {
if (v[ia - 1] < v[ia]) {
if (v[ia] < v[ia + 1]) {
b_j1 = ia;
j2 = ia;
j3 = ia + 2;
} else if (v[ia - 1] < v[ia + 1]) {
b_j1 = ia;
j2 = ia + 1;
j3 = ia + 1;
} else {
b_j1 = ia + 2;
j2 = ia - 1;
j3 = ia + 1;
}
} else if (v[ia - 1] < v[ia + 1]) {
b_j1 = ia + 1;
j2 = ia - 1;
j3 = ia + 2;
} else if (v[ia] < v[ia + 1]) {
b_j1 = ia + 1;
j2 = ia + 1;
j3 = ia;
} else {
b_j1 = ia + 2;
j2 = ia;
j3 = ia;
}
j4 = ia;
j5 = ia + 1;
v4 = v[ia + 2];
v5 = v[ia + 3];

if (v[ia + 3] < v[ia + 2]) {
j4 = ia + 1;
j5 = ia;
v5 = v[ia + 2];
v4 = v[ia + 3];
}
if (v5 < v[b_j1 - 1]) {
im = b_j1;
} else if (v5 < v[j2]) {
im = j5 + 3;
} else if (v4 < v[j2]) {
im = j2 + 1;
} else if (v4 < v[j3 - 1]) {
im = j4 + 3;
} else {
im = j3;
}
}
return im;
}
/*
* dec =3;
* data = xlsread('RawData.csv');
* Arguments : double dec
* double highavailmap[279]
* double lowavailmap[279]
* Return Type : void
*/
void assign2(double dec, double highavailmap[279], double lowavailmap[279])
{
int i;
int j;
double medcol[9];
static const double data[279] = { 8.867974939, 7.595977514, 6.470696587,
3.487004378, 1.332514304, 2.813719156, 8.947221259, 7.546871958,
2.05568984,
0.939573783, 7.576162505, 9.802269533, 3.433931341, 5.978067993,
6.141832624,
5.187703999, 6.842419407, 6.983619761, 6.586343622, 2.650967342,
0.281479519,
4.51720947, 4.8833296, 4.112601858, 1.998231285, 1.228788569,
1.794603172,
1.667530285, 1.44530311, 6.957149257, 8.014112004, 5.937637053,
9.240542525,
4.405312889, 9.0179348, 4.343341216, 0.569128894, 9.946691733,
2.467302909,
7.361918814, 8.987294674, 9.760074269, 2.710322229, 1.926107135,
6.878075081,
0.31908731, 3.334342237, 4.888114373, 8.668222289, 4.467132939,
4.911609383,
8.753019417, 9.205292127, 5.939275623, 0.863295867, 1.382115227,
4.389990813,
0.19850828, 5.651301105, 6.665142732, 7.080029568, 0.654417227,
2.564411222,
0.780273518, 9.586822431, 3.629884287, 7.15106193, 4.533588418,
3.587142549,
j4 = ia + 1;
j5 = ia;
v5 = v[ia + 2];
v4 = v[ia + 3];
}
if (v5 < v[b_j1 - 1]) {
im = b_j1;
} else if (v5 < v[j2]) {
im = j5 + 3;
} else if (v4 < v[j2]) {
im = j2 + 1;
} else if (v4 < v[j3 - 1]) {
im = j4 + 3;
} else {
im = j3;
}
}
return im;
}
/*
* dec =3;
* data = xlsread('RawData.csv');
* Arguments : double dec
* double highavailmap[279]
* double lowavailmap[279]
* Return Type : void
*/
void assign2(double dec, double highavailmap[279], double lowavailmap[279])
{
int i;
int j;
double medcol[9];
static const double data[279] = { 8.867974939, 7.595977514, 6.470696587,
3.487004378, 1.332514304, 2.813719156, 8.947221259, 7.546871958,
2.05568984,
0.939573783, 7.576162505, 9.802269533, 3.433931341, 5.978067993,
6.141832624,
5.187703999, 6.842419407, 6.983619761, 6.586343622, 2.650967342,
0.281479519,
4.51720947, 4.8833296, 4.112601858, 1.998231285, 1.228788569,
1.794603172,
1.667530285, 1.44530311, 6.957149257, 8.014112004, 5.937637053,
9.240542525,
4.405312889, 9.0179348, 4.343341216, 0.569128894, 9.946691733,
2.467302909,
7.361918814, 8.987294674, 9.760074269, 2.710322229, 1.926107135,
6.878075081,
0.31908731, 3.334342237, 4.888114373, 8.668222289, 4.467132939,
4.911609383,
8.753019417, 9.205292127, 5.939275623, 0.863295867, 1.382115227,
4.389990813,
0.19850828, 5.651301105, 6.665142732, 7.080029568, 0.654417227,
2.564411222,
0.780273518, 9.586822431, 3.629884287, 7.15106193, 4.533588418,
3.587142549,
⊘ This is a preview!⊘
Do you want full access?
Subscribe today to unlock all pages.

Trusted by 1+ million students worldwide

6.813186265, 5.204422849, 5.574429365, 1.582732027, 8.124262387,
3.633086312,
3.935873154, 8.12836, 1.497637964, 9.494915958, 6.444393078,
3.466600789,
1.920091655, 2.920711379, 4.835677122, 9.529493811, 8.227225775,
8.823496714,
9.600218338, 9.200761808, 8.168212959, 0.334910065, 0.713664278,
2.727202152,
9.769263956, 1.300927056, 7.170853355, 0.400633046, 6.533317421,
6.469688221,
7.512063803, 2.385024416, 7.954935104, 1.937182473, 7.267365425,
9.568614386,
1.372077771, 2.882797895, 6.953224295, 9.761948906, 1.559132667,
6.662363071,
7.700985248, 6.230774776, 8.216594898, 8.731006052, 9.675737043,
9.338604456,
6.243664701, 5.639941668, 4.974114723, 7.792594909, 7.448781767,
2.045768796,
2.027527588, 3.989272042, 5.54202833, 0.576200645, 5.879255516,
8.300772274,
9.684651203, 5.154754865, 2.801030069, 4.652322174, 0.237050007,
6.797113615,
1.710930383, 7.729590674, 2.641283508, 4.234288961, 3.30454842,
5.102681045,
4.40759675, 0.309926987, 1.851301345, 4.752599135, 1.420521995,
8.500659127,
9.720235581, 6.130814686, 9.932233372, 4.593642109, 5.61784365,
7.207382251,
6.99811295, 2.869024371, 8.024279519, 1.266317054, 5.53768077,
2.166697249,
3.033967946, 3.273596535, 5.534040226, 1.320425561, 1.742946809,
3.860278376,
5.638934671, 3.568145331, 4.620203529, 1.385550506, 5.254419664,
3.694842555,
4.24352499, 9.780311529, 9.116009196, 3.322650955, 5.830739222,
4.718489809,
5.311430539, 1.847748074, 0.880329112, 1.643799036, 2.893447754,
9.281825591,
4.432926565, 0.475092556, 0.406259347, 1.082487145, 2.870665286,
2.62679956,
2.117784506, 9.287794629, 9.146656162, 2.733802034, 3.450580842,
6.347574253,
4.108147877, 2.153227594, 3.500511486, 8.286458773, 4.971437421,
7.597808702,
8.659560742, 6.681639464, 8.202708779, 0.321698529, 2.339502065,
9.874656599,
0.961983796, 7.485889122, 3.008665987, 2.234179155, 1.934165787,
4.402123421,
7.185590305, 0.009579449, 4.409037912, 3.436464243, 8.318473223,
5.774148125,
3.8054346, 7.95689996, 6.963881696, 1.839031511, 9.655630704,
7.286174213,
4.559378977, 9.596943899, 2.640737222, 3.583143675, 3.299717936,
2.055028778,
5.270463421, 1.31212263, 5.150664553, 2.878981514, 1.105962628,
3.95382863,
1.424256692, 0.037861481, 7.368794943, 3.776018818, 2.610698947,
7.550001144,
1.295091168, 3.839076164, 8.536276332, 9.691486654, 1.105293596,
0.081961952,
3.633086312,
3.935873154, 8.12836, 1.497637964, 9.494915958, 6.444393078,
3.466600789,
1.920091655, 2.920711379, 4.835677122, 9.529493811, 8.227225775,
8.823496714,
9.600218338, 9.200761808, 8.168212959, 0.334910065, 0.713664278,
2.727202152,
9.769263956, 1.300927056, 7.170853355, 0.400633046, 6.533317421,
6.469688221,
7.512063803, 2.385024416, 7.954935104, 1.937182473, 7.267365425,
9.568614386,
1.372077771, 2.882797895, 6.953224295, 9.761948906, 1.559132667,
6.662363071,
7.700985248, 6.230774776, 8.216594898, 8.731006052, 9.675737043,
9.338604456,
6.243664701, 5.639941668, 4.974114723, 7.792594909, 7.448781767,
2.045768796,
2.027527588, 3.989272042, 5.54202833, 0.576200645, 5.879255516,
8.300772274,
9.684651203, 5.154754865, 2.801030069, 4.652322174, 0.237050007,
6.797113615,
1.710930383, 7.729590674, 2.641283508, 4.234288961, 3.30454842,
5.102681045,
4.40759675, 0.309926987, 1.851301345, 4.752599135, 1.420521995,
8.500659127,
9.720235581, 6.130814686, 9.932233372, 4.593642109, 5.61784365,
7.207382251,
6.99811295, 2.869024371, 8.024279519, 1.266317054, 5.53768077,
2.166697249,
3.033967946, 3.273596535, 5.534040226, 1.320425561, 1.742946809,
3.860278376,
5.638934671, 3.568145331, 4.620203529, 1.385550506, 5.254419664,
3.694842555,
4.24352499, 9.780311529, 9.116009196, 3.322650955, 5.830739222,
4.718489809,
5.311430539, 1.847748074, 0.880329112, 1.643799036, 2.893447754,
9.281825591,
4.432926565, 0.475092556, 0.406259347, 1.082487145, 2.870665286,
2.62679956,
2.117784506, 9.287794629, 9.146656162, 2.733802034, 3.450580842,
6.347574253,
4.108147877, 2.153227594, 3.500511486, 8.286458773, 4.971437421,
7.597808702,
8.659560742, 6.681639464, 8.202708779, 0.321698529, 2.339502065,
9.874656599,
0.961983796, 7.485889122, 3.008665987, 2.234179155, 1.934165787,
4.402123421,
7.185590305, 0.009579449, 4.409037912, 3.436464243, 8.318473223,
5.774148125,
3.8054346, 7.95689996, 6.963881696, 1.839031511, 9.655630704,
7.286174213,
4.559378977, 9.596943899, 2.640737222, 3.583143675, 3.299717936,
2.055028778,
5.270463421, 1.31212263, 5.150664553, 2.878981514, 1.105962628,
3.95382863,
1.424256692, 0.037861481, 7.368794943, 3.776018818, 2.610698947,
7.550001144,
1.295091168, 3.839076164, 8.536276332, 9.691486654, 1.105293596,
0.081961952,
Paraphrase This Document
Need a fresh take? Get an instant paraphrase of this document with our AI Paraphraser

8.785061686, 9.811977875, 4.785692794, 3.758035866, 7.464826569,
4.557040434,
9.132811064, 6.214026958, 1.504950967, 9.168014934, 0.87277575,
9.480850119,
7.584732352, 6.582869073, 5.754616283, 8.399975892, 9.480589726,
6.524598031,
0.644162857, 7.80869926, 1.728779173, 2.800475891, 0.058055191,
7.498451964,
3.69922017, 8.811582143, 6.442725929, 8.100681854, 3.962151251,
3.510291567
};
double medrow[31];
double highmap[279];
double lowmap[279];
(void)dec;
for (i = 0; i < 31; i++) {
for (j = 0; j < 9; j++) {
medcol[j] = data[i + 31 * j];
}
medrow[i] = median(medcol);
}
for (j = 0; j < 9; j++) {
medcol[j] = b_median(*(double (*)[31])&data[31 * j]);
}
/* %% rounding to 3 decimal places */
/* minrow = round(minrow,dec); */
/* maxrow = round(maxrow,dec); */
/* medrow = round(medrow,dec); */
/* mincol = round(mincol,dec); */
/* maxcol = round(maxcol,dec); */
/* medcol = round(medcol,dec); */
/* %% high map */
/* %% low map */
/* %% high available map */
/* %% low available map */
for (i = 0; i < 31; i++) {
for (j = 0; j < 9; j++) {
if ((data[i + 31 * j] > medrow[i]) && (data[i + 31 * j] > medcol[j]))
{
highmap[i + 31 * j] = data[i + 31 * j];
} else {
highmap[i + 31 * j] = rtNaN;
}
if ((data[i + 31 * j] < medrow[i]) && (data[i + 31 * j] < medcol[j]))
{
lowmap[i + 31 * j] = data[i + 31 * j];
} else {
lowmap[i + 31 * j] = rtNaN;
}
if (!rtIsNaN(highmap[i + 31 * j])) {
highavailmap[i + 31 * j] = 100.0;
} else {
highavailmap[i + 31 * j] = rtNaN;
}
4.557040434,
9.132811064, 6.214026958, 1.504950967, 9.168014934, 0.87277575,
9.480850119,
7.584732352, 6.582869073, 5.754616283, 8.399975892, 9.480589726,
6.524598031,
0.644162857, 7.80869926, 1.728779173, 2.800475891, 0.058055191,
7.498451964,
3.69922017, 8.811582143, 6.442725929, 8.100681854, 3.962151251,
3.510291567
};
double medrow[31];
double highmap[279];
double lowmap[279];
(void)dec;
for (i = 0; i < 31; i++) {
for (j = 0; j < 9; j++) {
medcol[j] = data[i + 31 * j];
}
medrow[i] = median(medcol);
}
for (j = 0; j < 9; j++) {
medcol[j] = b_median(*(double (*)[31])&data[31 * j]);
}
/* %% rounding to 3 decimal places */
/* minrow = round(minrow,dec); */
/* maxrow = round(maxrow,dec); */
/* medrow = round(medrow,dec); */
/* mincol = round(mincol,dec); */
/* maxcol = round(maxcol,dec); */
/* medcol = round(medcol,dec); */
/* %% high map */
/* %% low map */
/* %% high available map */
/* %% low available map */
for (i = 0; i < 31; i++) {
for (j = 0; j < 9; j++) {
if ((data[i + 31 * j] > medrow[i]) && (data[i + 31 * j] > medcol[j]))
{
highmap[i + 31 * j] = data[i + 31 * j];
} else {
highmap[i + 31 * j] = rtNaN;
}
if ((data[i + 31 * j] < medrow[i]) && (data[i + 31 * j] < medcol[j]))
{
lowmap[i + 31 * j] = data[i + 31 * j];
} else {
lowmap[i + 31 * j] = rtNaN;
}
if (!rtIsNaN(highmap[i + 31 * j])) {
highavailmap[i + 31 * j] = 100.0;
} else {
highavailmap[i + 31 * j] = rtNaN;
}

if (!rtIsNaN(lowmap[i + 31 * j])) {
lowavailmap[i + 31 * j] = 100.0;
} else {
lowavailmap[i + 31 * j] = rtNaN;
}
}
}
}
void assign2_initialize(void)
{
rt_InitInfAndNaN(8U);
}
/*
* Arguments : void
* Return Type : void
*/
void assign2_terminate(void)
{
}
lowavailmap[i + 31 * j] = 100.0;
} else {
lowavailmap[i + 31 * j] = rtNaN;
}
}
}
}
void assign2_initialize(void)
{
rt_InitInfAndNaN(8U);
}
/*
* Arguments : void
* Return Type : void
*/
void assign2_terminate(void)
{
}
⊘ This is a preview!⊘
Do you want full access?
Subscribe today to unlock all pages.

Trusted by 1+ million students worldwide
1 out of 12
Related Documents
Your All-in-One AI-Powered Toolkit for Academic Success.
+13062052269
info@desklib.com
Available 24*7 on WhatsApp / Email
Unlock your academic potential
Copyright © 2020–2026 A2Z Services. All Rights Reserved. Developed and managed by ZUCOL.





